我正在使用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>
谢谢!
答案 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.xml
和phpunit.xml
。您可以在每个中心build-base.xml
中定义公共目标,以避免重复。不幸的是,我所知道的phpunit.xml
没有等效机制。