[英]JUnit test passes in Eclipse workbench but fails in Ant build
我有一个包含6个测试用例( @Test
注释方法)的单元测试,当我将Java文件作为JUnit测试运行时(在Eclipse工作台内部),所有这些测试用例都可以完美运行。 但是,当我从构建脚本run-tests
Ant目标时,它们将失败,并显示以下控制台输出:
[junit] Running com.me.myproject.WidgetTest
[junit] Tests run: 6, Failures: 6, Errors: 0, Time elapsed: 1.737 sec
[junit] Test com.me.myproject.WidgetTest FAILED
这是run-tests
目标的JUnit部分:
<junit fork="yes" forkmode="once" dir="${basedir}" printsummary="yes" haltonerror="no" haltonfailure="no">
<classpath>
<path refid="test.class.path"/>
<pathelement location="${mainBuildDir}"/>
<pathelement location="${testBuildDir}"/>
</classpath>
<formatter type="xml"/>
<batchtest todir="${genUnitTestReportsDir}">
<fileset dir="${testJavaSrcDir}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
有人听说过这种情况吗? 有什么方法可以从JUnit的ant任务中获得更多(详细)输出吗? 有什么好的方法可以调试这里发生的情况吗? 提前致谢!
我不能不看到发生异常的堆栈跟踪。 这可能是类路径问题。 查看有关JUnit的Java ANT文档,它应该可以帮助您启用调试跟踪。
使用Hibernate / Hypersonic SQL进行测试时,写入数据库的类遇到了类似的问题。 在eclipse中运行测试时,Hypersonic连接的寿命比ant使用的寿命短得多。 结果,在Eclipse中每次测试结束时都会删除数据库,但是在ant内部测试之间仍然存在测试。
如果您在数据库中写入数据,则需要将其删除,以确保下一个测试不会拾取您的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.