gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:31:32 25 4
gpt4 key购买 nike

我有一个单元测试,其中包含 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 任务获得更多(详细)输出?有什么好方法来调试这里发生的事情吗?提前致谢!

最佳答案

在使用 Hibernate/Hypersonic SQL 进行测试时,我对写入数据库的类也遇到了类似的问题。在 eclipse 内运行测试时,Hysonic 连接的生命周期比 ant 使用的生命周期短得多。因此,数据库在 Eclipse 中的每次测试结束时都会被删除,但在 ant 内部的测试中会保留下来。

如果您在数据库中写入数据,则需要在拆卸时将其删除,以确保下一次测试不会获取您的数据。

关于java - JUnit 测试在 Eclipse 工作台中通过,但在 Ant 构建中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8894569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com