可以跳过ant构建脚本中的junit测试吗?
我下载了一个使用ant构建的大型项目,每次编译后它都会运行大量的junit测试。有没有一种方法可以在不更改每个构建文件的情况下通过所有这些测试?任何合适的ANT构建文件都应该具有并在需要时声明对其他目标的依赖关系,基本上是这样的:可以跳过ant构建脚本中的junit测试吗?,ant,Ant,我下载了一个使用ant构建的大型项目,每次编译后它都会运行大量的junit测试。有没有一种方法可以在不更改每个构建文件的情况下通过所有这些测试?任何合适的ANT构建文件都应该具有并在需要时声明对其他目标的依赖关系,基本上是这样的: <project default="unitTests"> <target name="clean"> <echo message="Cleaning..." /> </target>
<project default="unitTests">
<target name="clean">
<echo message="Cleaning..." />
</target>
<target name="compile" depends="clean">
<echo message="Compiling..." />
</target>
<target name="unitTests" depends="compile">
<echo message="Testing..." />
</target>
</project>
默认目标(在
标记中指定)通常是编译项目并通过运行单元测试确保应用程序完整性的最全面的任务
如果您的项目的构建文件是这样构造的,那么就需要使用编译目标运行ANT,这将跳过测试。如果不是这样构建的,那么除了更改构建文件并将单元测试分离到它自己的非默认目标之外,没有其他方法 为什么要跳过这些测试?因为这个特定项目中的测试需要10分钟才能运行,而此时我正试图向代码中添加print语句。如何执行取决于构建脚本的编写方式。没有一个通用的答案,珍妮是对的。您需要编辑ANT脚本并删除对运行测试的ANT任务的依赖关系。(希望另一个任务不依赖于首先运行的测试……)与Maven不同,Ant脚本是手工编写的。Maven有非常明确的项目生命周期和许多插件,可以在很少或没有定制的情况下完成日常工作。而在Ant中,从您将拥有的目标以及它们如何相互依赖开始,需要在XML中为您编写的每个Ant构建脚本从头定义。所以它取决于特定的脚本如何对目标进行静音,在Maven项目中,您只需将-dskiptest添加到命令中,测试就消失了。