在ANT中的System属性的帮助下查找正确的java文件



我有一个名为ITEM_ROOTDIR.tests的System属性。它的值为abc,xyz。对于基于ANT的任务,如何在src文件夹中找到abc.java和xyz.java?(src文件夹在basedir中,basedir已声明为".")一旦我找到文件,我可以在include任务中使用这多个文件吗?如果没有,如何包括它们?

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

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

这是我的标准测试目标:

<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类,而不是强迫我跟踪每个单独的测试。

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

相关内容

  • 没有找到相关文章

最新更新