我正在尝试设置一个新的连续集成服务器,该服务器利用Phing和PHPUnit自动运行测试用例。
我用梨装了Phing:
pear channel-discover pear.phing.info
pear install phing/phing我使用新的PHAR方法安装了PHPUnit:
wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit然后我转到我的build.xml文件所在的目录,拨打phing,看起来Phing不知道PHPUnit在哪里。
[jenkins@leroy workspace]$ phing
Buildfile: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml
Framework > test:
[echo] Running Tests
Execution of target "test" failed for the following reason: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: /home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: PHPUnitTask requires PHPUnit to be installed
BUILD FAILED
/home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37:
/home/jenkins/.jenkins/jobs/Framework/workspace/build.xml:9:37: PHPUnitTask requires PHPUnit to be installed
Total time: 0.0764 seconds
[jenkins@leroy workspace]$检查Phing和PHPUnit的位置:
[jenkins@leroy workspace]$ which phing
/usr/bin/phing
[jenkins@leroy workspace]$ which phpunit
/usr/local/bin/phpunit并且,确保PHP足够新:
[jenkins@leroy workspace]$ php -v
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) 我之所以这么做,是因为我们要用这个新服务器替换一个旧的Jenkins服务器。尝试使用最新的软件,但我不知道如何告诉Phing在哪里可以找到PHPUnit。
提前感谢您的帮助!
大卫
发布于 2014-05-01 15:18:26
看起来phing和最新4.x版本的PHPUnit:http://www.phing.info/trac/ticket/1091存在一些实际问题。
因此,为了解决这个问题,我删除了PHPUnit 4并指定了一个旧版本:
pear install phpunit/PHPUnit-3.7.35Phing和PHPUnit在这一点上立即起了作用。
发布于 2014-08-12 07:16:08
似乎将pharlocation属性添加到phpunit任务元素中,指向本地phpunit可执行文件,完成以下工作:
<phpunit haltonfailure="true" haltonerror="true"
bootstrap="./fw_init.php"
pharlocation="/usr/local/bin/phpunit">
<formatter type="plain" usefile="false" />
...
</phpunit>发布于 2014-04-30 13:43:27
这里有一个问题完全相同的人:How do I tell Phing where PHPUnit is installed?
他的理论是:
这台机器上的PHP版本可能太旧了,无法处理PHAR档案。
我不能评论他是否是对的,但是这个问题除了作者没有得到其他人的答复。
https://stackoverflow.com/questions/23377750
复制相似问题