Ant JUnit任务在TeamCity中不起作用

时间:2012-05-29 16:19:57

标签: ant junit teamcity

有一部分带有junit任务的ant脚本:

...

<target name="test">
  <mkdir dir="path_to_report_dir">
  <junit fork="true" printsummary="true" showoutput="true" maxmemory="1024M">
    <classpath ... />
    <batchtest todir="path_to_report_dir">
        <formatter type="xml" />
        <fileset ... />
    </batchtest>
  </junit>
</target>

...

此脚本适用于Eclipse和命令行。但它在TeamCity中不起作用。 TeamCity中的最后一条信息是: [mkdir]创建了dir:path_to_report_dir 处理退出代码:0

看起来junit任务不起作用,它也停止执行所有脚本。麻烦在哪里?

2 个答案:

答案 0 :(得分:1)

原因发生在<fileset>文件列表中。 TeamCity版本的Ant不适用于"/test/"等字符串(这意味着select all files recursively);它只适用于"**/test/*.class"之类的字符串。本地版本的Ant支持两种变体。

感谢。

答案 1 :(得分:0)

不知道这是否有帮助....但这是我的标准测试目标:

<target name="test" depends="compile-tests">
    <junit printsummary="yes" haltonfailure="yes">
        <classpath>
            <path refid="test.path"/>
            <pathelement path="${classes.dir}"/>
            <pathelement path="${test.classes.dir}"/>
        </classpath>
        <formatter type="xml"/>
        <batchtest fork="yes" todir="${test.reports.dir}">
            <fileset dir="${test.src.dir}">
                <include name="**/*Test*.java"/>
                <exclude name="**/AllTests.java"/>
            </fileset>
        </batchtest>
    </junit>
</target>

构建输出:

test:
    [junit] Running org.demo.AppTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.056 sec

备注

  • 使用Junit 4.10。