Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 库抛出断言错误使我的测试失败_Java_Junit4_Assertion_Rets - Fatal编程技术网

Java 库抛出断言错误使我的测试失败

Java 库抛出断言错误使我的测试失败,java,junit4,assertion,rets,Java,Junit4,Assertion,Rets,我一直在为我的java项目创建一个单元测试,即使我没有做出任何断言,我的测试仍然失败 在阅读stacktrace之后,我注意到我正在使用的retsIQ库中的一个方法抛出了一个断言错误。有什么我可以忽略的吗?我真的不想对模块进行反编译和重新编译 我还应该提到,如果不是作为测试运行,那么这段代码就可以正常工作 这是我考试的照片: 下面是它未在测试中运行的图片: 从stacktrace看,解析响应时似乎发现了意外数据。诊断问题的最佳方法是在SearchCompactReader.parse()(第1

我一直在为我的java项目创建一个单元测试,即使我没有做出任何断言,我的测试仍然失败

在阅读stacktrace之后,我注意到我正在使用的retsIQ库中的一个方法抛出了一个断言错误。有什么我可以忽略的吗?我真的不想对模块进行反编译和重新编译

我还应该提到,如果不是作为测试运行,那么这段代码就可以正常工作

这是我考试的照片:

下面是它未在测试中运行的图片:

从stacktrace看,解析响应时似乎发现了意外数据。诊断问题的最佳方法是在
SearchCompactReader.parse()
(第16行附近)中设置断点,然后在调试器中运行测试

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

我将假设两件事:1)您的项目基于maven;2) 这两个代码片段完全相同(除了
assertTrue(true);
行,顺便说一句,它什么也不做)

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

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


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

您的项目中是否使用java ee容器?jboss?tomcat glassfish?@gurghet不,我不是。如果在完全干净的main方法中运行相同的代码,而没有任何事先的设置,那么它真的工作得很好吗?是的,如果它没有在测试中运行,那么它可以按预期工作。我添加了一张显示它工作的图片。您是否尝试过使用调试器来查看为什么它在JUnit中失败,但在通过main()调用时失败了?
mvn dependency:tree -Dverbose