0

Test::UnitMochaを使用して単体テストを作成しました。テストしているクラスのメソッドをモックするために「expects」を使用しています。特定のパラメーターがオブジェクトに渡されているかどうかを確認したいと思います。

service.expects(:get).once.with(path, has_key('t')).returns([])

私の開発システムでは、これは問題なく動作します。同僚のコンピューターと Travis CI サーバーで、単体テストが次のエラーで失敗します。

NoMethodError: undefined method `has_key' for #<FloxTest:0x000000036d4770>

Mocha が単体テストに追加することになっている他のすべてのメソッド、たとえば「mock()」メソッドでも同じことが起こります。

Mocha が輸入注文にうるさいことは知っています。ただし、「test/unit」の後にインポートしました:

require 'test/unit'
require 'mocha/test_unit'

詳細なコンテキストが必要な場合は、完全なテスト ファイルがここにあります。実際、完全なプロジェクトはオープン ソースであり、かなり小さなプロジェクトです: GitHub ; 完全なエラー ログはTravis CIで確認できます。

何を試すことができるかについて、これ以上のアイデアはありません。同僚が私とまったく同じバージョンの gem を持っていることも確認しました。Rubyのバージョンも同じです。

Ruby Guru からの助けに感謝します。本当に感謝しています!

4

1 に答える 1

1

あなたに代わって、これをMocha イシュー トラッカーの問題として追加しました。

そこにある私のコメントで、提案された修正を確認できます。それが役立つことを願っています。

于 2014-03-03T12:46:46.533 に答える