第一个junit任务后,Ant构建目标失败

时间:2011-02-28 13:41:09

标签: ant teamcity junit4

我有一个Ant构建目标,使用jUnit4

执行一些测试
   <target name="integrationtest" depends="init, buildtests, deploytests">
      <junit haltonfailure="false">
         <sysproperty key="driver" value="org.openqa.selenium.firefox.FirefoxDriver" />
         <sysproperty key="screenshotDir" value="${screenshotsDir}" />
         <classpath>
            <pathelement location="${interfaceTestJar}"/>
         </classpath>
         <batchtest>
            <fileset dir="${interfaceTestClasses}">
               <include name="**/tests/Test*.class" />
            </fileset>
         </batchtest>
      </junit>

      <junit haltonfailure="false">
         <sysproperty key="driver" value="org.openqa.selenium.ie.InternetExplorerDriver" />
         <classpath>
            <pathelement location="${interfaceTestJar}"/>
         </classpath>
         <batchtest>
            <fileset dir="${interfaceTestClasses}">
               <include name="**/tests/Test*.class" />
            </fileset>
         </batchtest>
      </junit>

      <echo message="##teamcity[publishArtifacts '${artifactsDir}']" />
   </target>

第一个junit任务总是启动,但如果其中有任何失败的测试,则第二个任务未启动(在任何情况下都会被启动,即使第一个测试失败也是如此)

编辑:似乎还有其他问题。第二个jUnit在任何情况下都没有启动(如果第一个成功或失败)。在我的TeamCity构建日志中,我看到以下几行

[integrationtest] junit
[20:06:14]: [junit] ru.company.tests.TestDateField
[20:06:30]: [junit] Process exited with code 255

TestDateField是我的第一个测试套件。之后有更多的套房,它们都成功了(也是第一个)。

3 个答案:

答案 0 :(得分:1)

您的测试是否有可能像System.exit那样? 您是否尝试将fork =“true”添加到junit任务中,因此它将在单独的JVM中运行?

答案 1 :(得分:0)

我认为您应该使用<junit haltonfailure="no">代替<junit haltonfailure="false">

答案 2 :(得分:0)

根据docshaltonfailure应为yesno