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_instanceProjectProject

于 2013-01-22T19:20:16.467 に答える