JUnit测试在Eclipse工作台中通过,但在Ant构建中失败



我有一个单元测试,它包含6个测试用例(@Test-带注释的方法),当我将Java文件作为JUnit测试(从Eclipse工作台内部)运行时,这些测试用例都能完美运行。但是,当我从构建脚本运行run-testsAnt目标时,它们会失败,并显示以下控制台输出:

[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任务中获得更多(详细)的输出?有什么好方法可以调试这里发生的事情吗?提前感谢!

在使用Hibernate/Hypersonic SQL进行测试时,我也遇到过类似的类写入数据库的问题。在eclipse内部运行测试时,高超音速连接的寿命比蚂蚁使用的寿命短得多。因此,在Eclipse中的每个测试结束时,数据库都会被删除,但在ant中从一个测试一直保留到另一个测试。

如果你在数据库中写入数据,你需要在拆卸时删除它们,以确保下一次测试不会拾取你的数据。

如果不看到异常发生的堆栈,我就无法判断。这可能是类路径问题。查看关于JUnit的Java ANT文档,它应该可以帮助您启用调试跟踪。

相关内容

  • 没有找到相关文章