如何在编译时在netbeans和jenkins中运行junit测试?

问题描述:

我试图设置一个项目来在构建时运行junit测试,以便团队的每个成员和Jenkins构建服务器在构建时运行测试。如何在编译时在netbeans和jenkins中运行junit测试?

我相信我们已经在Netbeans中建立了一个相当标准的webproject,但我似乎无法在*或google上找到任何人解决这个问题。

你会怎么做呢?

转到文件:/nbproject/build-impl.xml并找到dist目标。它应该是这样的:

<target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>

复制粘贴到/build.xml,并添加 “测试” 目标到它:

<target depends="init,compile,test,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>

这在Netbeans的7.3。它现在在Jenkins构建服务器上构建并运行每个构建的测试。

+1

我会建议你把“测试”目标编译后与之前的“-pre-dist的“像这样'depends =”init,compile,test,-pre-dist,do-dist,-post-dist“'。 Ant以列出的顺序执行依赖关系,您可能希望在创建war文件之前运行测试。 – dkatzel

+0

啊,是的,这是有道理的。谢谢:) 我只是认为我会把它放在最后,因为我认为这会最少干扰其他事情。 – Sammi

+0

好吧,我只想回到这个,因为我发现了这样做的惯用方式。 build-impl.xml文件中的这个手动编辑通过自动生成的更改不断被重置,所以我再次研究了这一点,并发现我只需编写“test dist”,而不需要Build-> Invoke Ant-> Targets中的引号Jenkins构建配置中的字段。 Voila。 – Sammi

永远不要修改您的build-impl.xml!当您对项目执行任何更改时,Netbeans会重新生成此文件。

的更好的方法是修改您的build.xml文件,并添加一个罐子后任务:

<target name="-post-jar" depends="test"/>