我有一个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
是我的第一个测试套件。之后有更多的套房,它们都成功了(也是第一个)。
答案 0 :(得分:1)
您的测试是否有可能像System.exit那样? 您是否尝试将fork =“true”添加到junit任务中,因此它将在单独的JVM中运行?
答案 1 :(得分:0)
我认为您应该使用<junit haltonfailure="no">
代替<junit haltonfailure="false">
答案 2 :(得分:0)
根据docs,haltonfailure
应为yes
或no
。