我想让客户使用Jenkins运行带有Ant的JUnit-Tests。我不想将源文件部署到客户的Jenkins。
如果客户有一个正在运行的jenkins安装,并且我只给他编译了Java-Classes,编译过的Test-Classes和我们的ant脚本,那么客户是否能够使用jenkins执行测试而无需访问源代码?
我的蚂蚁目标看起来像这样
<target name="testWithoutCompile">
<junit fork="true" forkmode="perBatch" haltonerror="false" haltonfailure="false" showoutput="false" printsummary="true" clonevm="true">
<classpath>
<path refid="test.run.classpath" />
</classpath>
<formatter type="xml" />
<batchtest todir="${report.test.dir}">
<fileset dir="${build.test.dir}">
<include name="**/*Test.class" />
</fileset>
</batchtest>
</junit>
</target>
答案 0 :(得分:1)
是的,至少可以直接使用Ant。
我在本地有简单的项目(只是src和类子目录),我可以运行特定的单元测试,只需使用类文件(我已经删除了测试类源和被测试类的源代码)
<target name="test">
<junit>
<classpath refid="test.path" />
<formatter type="brief" usefile="false" />
<test name="TestHobbyHorse" />
</junit>
</target>
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.011 sec
[junit]
[junit] Testcase: testNoise(TestHobbyHorse): Caused an ERROR
[junit] expected:<[noSound]> but was:<[Neigh]>
[junit] at TestHobbyHorse.testNoise(Unknown Source)
[junit]
我还没有测试过,但是假设你可以将它扩展为运行各种Test类,就像你在build.xml中尝试过的那样,并且由于Jenkins应该只运行Ant我不明白为什么詹金斯的出现会影响它。