通过ANT运行jUnit测试,需要澄清



假设您有一个test目录,其中包含每个包含jUnit测试的包。

在此设置中,使用ANT,您如何"运行所有测试?"

假设我的jUnit有

<target name="test" depends="compileTest">
    <junit fork="yes" printsummary="yes" haltonfailure="no">
        <classpath location="${bin}" />
        <formatter type="plain" />
        <test name="_com.??.project.alltests.MyTests" />
    </junit>
</target>

Where, MyTests有

@RunWith(Suite.class)
@Suite.SuiteClasses( { _ThisTest.class, _ThatTest.class })
public class OCTTests {
}

_ThisTest本身包含一些测试…

对于ANT脚本来说,是否可以简单地说"运行在此目录中找到的所有测试"来避免这种情况?

看一下junit任务的嵌套batchtest元素。您将在junit任务文档页面上找到以下示例:

<junit printsummary="yes" haltonfailure="yes">
  <classpath>
    <pathelement location="${build.tests}"/>
    <pathelement path="${java.class.path}"/>
  </classpath>
  <formatter type="plain"/>
  <test name="my.test.TestCase" haltonfailure="no" outfile="result">
    <formatter type="xml"/>
  </test>
  <batchtest fork="yes" todir="${reports.tests}">
    <fileset dir="${src.tests}">
      <include name="**/*Test*.java"/>
      <exclude name="**/AllTests.java"/>
    </fileset>
  </batchtest>
</junit>

相关内容

  • 没有找到相关文章

最新更新