1

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

蚂蚁构建文件:

<?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>

谢谢!

4

2 回答 2

1

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

<exec dir="${basedir}" executable="phpunit" failonerror="true">
    <arg value="-c" />
    <arg value="php_unit_1.xml"/>
<exec>
于 2012-08-22T06:57:03.367 回答
0

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

于 2012-08-22T06:55:51.370 回答