如何在JVM上运行Hudson调用需要php容器的phpUnit?

时间:2011-06-26 08:41:04

标签: php hudson phpunit phing

我正在使用Hudson进行CI,并在其中使用Phing进行自动化测试。当我在build.xml中指定phpunit任务时,运行测试套件。我的问题是:这是怎么发生的? Hudson在JVM中运行,而PHP需要一个PHP容器。

似乎PHP作为CLI独立应用程序安装。如果是这种情况,那么我可以以某种方式运行用Phr编写的phpRack编写的测试。对?但是怎么样?

我一直在搜索这个,但似乎phpRack并没有得到其他人的支持。

3 个答案:

答案 0 :(得分:3)

Ant使用<exec>任务来运行大多数外部工具,如PHPUnit。如果PhpRack具有CLI模式,您可以以相同的方式使用它。但是,您需要输出的后处理器来确定通过或失败。

编辑:哎呀,我怎么想念Phing?大声笑。同样的原则适用于所描述的其他答案。

答案 1 :(得分:2)

Hudson / Jenkins不会直接调用PHP,而是在构建文件的帮助下。您的phing.xml或ant.xml或您使用的任何内容。

该文件只会触发正常的系统调用(在php中你会system("/usr/bin/php file.php");或类似的东西。

因此,如果您和调用命令行工具,它就像这样调用它。如果您发出一个http请求(如phpRack示例所示),您需要确保安装了一个正常工作的Web服务器,并且可以像访问浏览器一样访问该URL。

答案 2 :(得分:2)

如前所述,你可以在Phing中运行任何东西,只要你可以从shell运行它。 您在Hudson / Jenkins的工作配置中寻找的是:

添加构建步骤 - &gt;执行Shell - &gt;命令

在那里只是放了/usr/bin/php /path/to/your/script.php这样的东西,它就会被执行。

NB有一个集成Phing phpRack的例子,所以你可以实际使用它:https://github.com/tpc2/phprack/wiki/Phing

相关问题