首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JUnit测试由我的Ant目标运行两次

JUnit测试由我的Ant目标运行两次
EN

Stack Overflow用户
提问于 2009-12-16 05:09:00
回答 2查看 1.7K关注 0票数 2

我已经创建了一个运行JUnit 4测试的Ant目标。不幸的是,它们都被执行了两次!

有谁知道我做错了什么吗?

以下是我的蚂蚁目标:

代码语言:javascript
复制
<target name="junit" description="Execute unit tests" depends="compile">
<delete dir="rawtestoutput"/>
<delete dir="test-reports"/>
<mkdir dir="rawtestoutput"/>
<junit printsummary="on" failureproperty="junit.failure" fork="true">
    <classpath refid="class.path.junit"/>
    <formatter type="xml" usefile="true" />
    <batchtest todir="rawtestoutput">
        <fileset dir="src/test">
            <include name="**/*.java"/>

            <!-- Add util and testhelper classes here (to avoid "No tests in class" error) and add suite classes to avoid test being run twice -->
            <exclude name="**/SessionHelper.java"/>
            <exclude name="**/TestHelper.java"/>
            <exclude name="**/AllTests.java"/>
            <exclude name="**/AllEDITests.java"/>
        </fileset>
    </batchtest>
</junit>
<junitreport>
    <fileset dir="rawtestoutput"/>
    <report todir="test-reports"/>
</junitreport>
<fail if="junit.failure" message="Unit test(s) failed.  See reports!"/>
</target>

我的第一个想法是,这是因为测试套件。但我不再这么认为了。我已经排除了测试套件,而且,它不仅是运行两次的套件的一部分。这是我所有的测试。

下面是我的一个testsclasses的测试输出的一个小示例:

代码语言:javascript
复制
[20:24:53]: [junit] Running dk.gensam.gaia.business.ydelse.YdelsestypeBOTest
[20:24:53]: [junit] dk.gensam.gaia.business.ydelse.YdelsestypeBOTest (2s)
[20:24:54]:  [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsevariationer
[20:24:55]:   [loadYdelsevariationer] [Test Output] EMMA: collecting runtime coverage data ...
[20:24:55]:  [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_alleExisterendeErAnnullerede
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_ingenEksisterendeValgteRelationer
[20:24:56]: [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 3,077 sec
[20:24:56]: dk.gensam.gaia.business.ydelse.YdelsestypeBOTest (3s)
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsevariationer
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_alleExisterendeErAnnullerede
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_ingenEksisterendeValgteRelationer

正如您所看到的,YdelsestypeBOTest中的测试运行了两次...

EN

回答 2

Stack Overflow用户

发布于 2009-12-21 22:44:48

在这行中:

20:24:55: loadYdelsevariationer EMMA:收集运行时覆盖数据

看起来像是另一个Ant目标正在调用代码覆盖率工具Emma,该工具随后会重新运行您的测试。如果你用这个目标运行你的Ant脚本,也就是ant junit,它总是这样做吗?

票数 2
EN

Stack Overflow用户

发布于 2009-12-17 22:21:40

很难知道这里到底发生了什么,但请尝试临时删除所有测试套件并重新编译,以确保它们不会导致问题。如果您开始从测试套件转移到使用batchtest,那么看起来您可能想要摆脱测试套件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1910416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档