0

我有一个名为:ITEM_ROOTDIR.tests 的系统属性。它的值为 abc,xyz。使用基于 ANT 的任务,我如何在 src 文件夹中找到 abc.java 和 xyz.java ?(src 文件夹在 basedir 中,并且 basedir 已声明为“。”)一旦找到文件,我可以在包含任务中使用这些多个文件吗?如果不是如何包括它们?

最好只找到文件并将结果存储回 ITEM_ROOTDIR.tests。然后在包含任务中再次使用该属性。

4

1 回答 1

0

在我看来,您正在通过单独运行测试来为自己创造工作。

这是我的标准测试目标:

<target name="test" depends="compile" description="Run unit tests">
    <mkdir dir="${build.dir}/tests"/>

    <junit printsummary="yes" haltonfailure="${junit.haltonfailure}">
        <classpath>
            <path refid="runtime.path"/>
            <pathelement path="${classes.dir}"/>
        </classpath>
        <formatter type="plain"/>
        <batchtest fork="yes" todir="${build.dir}/tests">
            <fileset dir="${src.dir}" includes="**/*Test*.java"/>
        </batchtest>
    </junit>
</target>

在我的“src”目录中运行测试,为所有测试生成一个综合报告。

更新

运行时间过长的测试是一个非常常见的问题。标准答案是重构您的测试以使其更快...... :-(

意见各不相同,但根据我的经验,最好的解决方案是将您的测试分为不同的类别。

  • 单元测试(模拟,因此应该快速运行并涵盖所有功能)
  • 快速集成测试
  • 缓慢的集成测试。

我将单元测试作为构建的一部分运行,并将集成测试作为单独的 Jenkins 作业(部署后)运行。这满足了我对即时反馈的需求,并将我的测试报告分为 3 类,而不是强迫我跟踪每个单独的测试。

反对单独测试的另一个论点是,在一个大型团队中,您看不到您的更改对代码库的其他部分产生的影响。毕竟这是一个团队的努力:-)

于 2013-02-11T18:58:38.937 回答