1

単体テストでMockitoモックを使用するMaven管理のプロジェクトがあります。Mavenビルド内ですべてのテストを実行でき、エラーなしで実行されます(そして合格します!)。ただし、単一のテスト関数を右クリックして[実行]-> [JUnitテスト]を選択すると、例外が発生しますjava.lang.NoSuchMethodError: org.mockito.Mockito.doAnswer(Lorg/mockito/stubbing/Answer;)Lorg/mockito/stubbing/Stubber;。もちろん、ソースを見ると「欠落している」メソッドがあります。前述のように、テストはコマンドラインからコンパイルして実行します。

私が考えることができる最善のことは、EclipseがJUnitプラグインに古いMockitoアーティファクト(Mavenの依存関係で1.8.5を使用しています)を提供することで私を「助け」ようとしている場合です。特定のタスク用のMavenランタイムの奇数バージョン。

これは問題ですか?それは何か他のものですか?これを修正できますか?

ETA:どうやらこれは既知の問題に関連している可能性があります。クラスパスに複数のバージョンのMockitoがあることに起因する可能性が高いです(ありがとう、Maven:-/)。私は家を整えているようです-Eclipseは今テストを実行できます-しかし残念ながらバグが私のハドソンを噛みました。古いJARをクラスパスから削除する方法も追跡する必要があります。

4

2 に答える 2

7

ユニットテストのクラスパスに正しいmockitoがあることを確認してください。これは、実行ダイアログから確認できます。ところで、Eclipseにはmockitoが付属していないので、おそらく2つのバージョンがあります。Mavenの依存関係グラフを見て、重複を検索します。

于 2010-12-07T21:29:08.403 に答える
1

同様の問題が発生し、クラスパスに「mockito-all1.8.x」と「mockito-core1.9.5」の両方があることがわかりました。私は1.9しか使用しないはずでしたが、どういうわけかeclipseはクラスパスで1.9.5の前に1.8を入れていました。1.8.xを削除しましたが、機能しました;)

于 2015-07-14T21:11:33.573 に答える