我有一个名为:ITEM_ROOTDIR.tests 的系统属性。它的值为 abc,xyz。使用基于 ANT 的任务,我如何在 src 文件夹中找到 abc.java 和 xyz.java ?(src 文件夹在 basedir 中,并且 basedir 已声明为“。”)一旦找到文件,我可以在包含任务中使用这些多个文件吗?如果不是如何包括它们?
最好只找到文件并将结果存储回 ITEM_ROOTDIR.tests。然后在包含任务中再次使用该属性。
在我看来,您正在通过单独运行测试来为自己创造工作。
这是我的标准测试目标:
<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 类,而不是强迫我跟踪每个单独的测试。
反对单独测试的另一个论点是,在一个大型团队中,您看不到您的更改对代码库的其他部分产生的影响。毕竟这是一个团队的努力:-)