0

我有以下内容:

  setup do
    Capybara.current_driver = Capybara.javascript_driver
    @project.user = @user
    @project.save
    Project.any_instance.stubs(:price_all)
  end

然而我有一个测试失败,因为 Project.price_all 方法正在运行:

/Users/me/code/rails/myapp/app/models/project.rb:178:in `price_all'

在我升级到 Capybara 2 和最新版本的 capybara-webkit 之前,这一直正常工作。

为什么该方法仍在运行?我该如何解决?

4

1 回答 1

0

当您说“该Project.price_all方法正在运行”时,这是一个错字,还是price_all真的是一个类方法?如果它确实是一个类方法,你会想要使用Project.stubs(:price_all)而不是包含any_instance,所以存根直接在Project类上,而不是Project. 如果这不是您的问题,我不确定根据您提供的代码示例还有什么建议。

于 2013-01-22T19:20:16.467 回答