为几个Jenkins作业编写Ant构建文件

时间:2012-08-22 06:32:00

标签: ant jenkins phpunit

我正在使用Jenkins和Ant插件来运行PHPUnit / Selenium测试。我正在尝试设置几个Jenkins工作(我之前只有一份工作)。 这些作业的测试在同一个GitHub存储库中,但不同的文件夹。 所以,我可以在build.xml中创建不同的Ant目标,但我是否需要 为每个作业分离phpunit.xml文件(如果是这样,我如何在Ant构建脚本中指定文件名?)或者是否有办法制作Ant 区分同一个phpunit.xml文件中的测试?还有其他好办法吗?任何例子都将不胜感激。

Ant构建文件:

<?xml version="1.0" encoding="UTF-8"?>
<project name="MyProject" default="build">
<target name="build" depends="clean,prepare,phpunit"/>

 <target name="clean" description="Cleanup build artifacts">
  <delete dir="${basedir}/build"/>
 </target>

 <target name="prepare" description="Make log and coverage directories">
  <mkdir dir="${basedir}/build/logs"/>
  <mkdir dir="${basedir}/build/coverage_selenium"/>
 </target>

 <target name="phpunit" description="MyTests">
  <exec dir="${basedir}" executable="phpunit" failonerror="true"/>
 </target>

</project>

phpunit.xml:

<phpunit>
  <testsuites>
     <testsuite name="MyTests">

          <file>path/to/test.php</file>

    </testsuite>
  </testsuites>
</phpunit>

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用-c--configuration指定测试配置文件。 Ant exec task允许您为要运行的进程指定参数,例如:

<exec dir="${basedir}" executable="phpunit" failonerror="true">
    <arg value="-c" />
    <arg value="php_unit_1.xml"/>
<exec>

答案 1 :(得分:0)

我建议为每个项目创建单独的build.xmlphpunit.xml。您可以在每个中心build-base.xml中定义公共目标,以避免重复。不幸的是,我所知道的phpunit.xml没有等效机制。