库抛出AssertionError使我的测试失败

时间:2015-06-09 19:02:33

标签: java junit4 assertion rets

我一直致力于为我的java项目创建一个单元测试,即使我没有断言,我的测试也会继续失败。

读完堆栈跟踪后,我注意到我正在使用的retsIQ库中的一个方法是抛出一个断言错误。无论如何我可以忽略这个吗?我真的不反编译并重新编译模块。

我还应该提一下,如果它不作为测试运行,那么这个确切的代码可以正常工作。

这是我的测试图片: Unit Test

以下是一张未在测试中运行的图片: enter image description here

2 个答案:

答案 0 :(得分:1)

我会假设两件事:1)你的项目是以maven为基础的; 2)这两个代码片段是完全相同的(除了assertTrue(true);行,顺便说一下,什么也没做。)

也许您的问题是由“运行”和“测试”配置具有不同的类路径引起的。您可能在测试类路径中有一个错误的某个库版本,甚至错过了一些库,这最终会导致此异常。

我建议你重新检查pom.xml中所有测试范围的依赖项。您还可以使用Maven Dependency Plugin打印项目依赖关系树(但我不确定它是否可以单独打印测试依赖项):

mvn dependency:tree -Dverbose

或者,您可以转到“项目结构”> “模块”> Intellij Idea中的“依赖关系”选项卡,查看具有“测试”范围的所有条目。

答案 1 :(得分:0)

从堆栈跟踪中,看起来在解析响应时发现了意外的数据。诊断问题的最佳方法是在SearchCompactReader.parse()(第16行)中设置断点,并在调试器中运行测试。

顺便说一下,你的测试不是一个单元测试。单元测试单独测试单个类或方法。您的测试似乎正在点击实时服务器。