Phing 看不到 PHPUnit

2022-01-25 00:00:00 jenkins php phpunit phing

I'm trying to setup a new Continuous Integration server that utilizes Phing and PHPUnit for automatically running test cases.

I've installed Phing with Pear:

pear channel-discover pear.phing.info
pear install phing/phing

I've installed PHPUnit using the new PHAR method:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit

Then I go to the directory where my build.xml file is located, rung phing and it looks like Phing has no idea where PHPUnit is.

[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]$

Checked the location of Phing and PHPUnit:

[jenkins@leroy workspace]$ which phing
/usr/bin/phing
[jenkins@leroy workspace]$ which phpunit
/usr/local/bin/phpunit

And, making sure PHP is new enough:

[jenkins@leroy workspace]$ php -v
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) 

I'm doing all of this because we're replacing an older Jenkins server with this new one. Trying to use the newest software, but I can't figure out how to tell Phing where to find PHPUnit.

Thanks in advance for any help!

David

解决方案

It looks like there are some actual issues with phing and the latest 4.x versions of PHPUnit: http://www.phing.info/trac/ticket/1091.

So to fix the issue, I removed PHPUnit 4 and specified an older version:

pear install phpunit/PHPUnit-3.7.35

Phing and PHPUnit worked immediately at this point.

相关文章