Cod*_*rer 1 java eclipse junit unit-testing mockito
我有一个Maven管理的项目,在其单元测试中使用Mockito模拟.我可以在Maven构建中运行所有测试,并且它们运行时没有错误(并传递!).但是,如果我右键单击一个测试函数,并选择"Run As - > JUnit Test",我会得到一个例外java.lang.NoSuchMethodError: org.mockito.Mockito.doAnswer(Lorg/mockito/stubbing/Answer;)Lorg/mockito/stubbing/Stubber;.当然,如果我查看源代码就会出现"缺失"方法,就像我说测试从命令行编译和运行一样.
我能想到的最好的是Eclipse是否试图通过为JUnit插件提供过时的Mockito工件(我在我的Maven依赖项中使用1.8.5)来"帮助"我,类似于Maven插件可以如何帮助你某些任务的Maven运行时的奇怪版本.
这是问题吗?还有别的吗?我能解决这个问题吗?
ETA:显然这可能与已知问题有关.它很可能源于我的类路径中有多个版本的Mockito(谢谢,Maven: - /).我似乎把我的房子整理好了 - Eclipse现在可以运行测试了 - 但不幸的是这个bug已经咬了我的哈德森.我必须跟踪如何从类路径中删除旧的JAR.
确保单元测试类路径具有正确的mockito.您可以从运行对话框中进行检查.顺便说一下,Eclipse没有附带mockito,所以也许你有两个版本.查看您的maven依赖关系图并搜索重复项.