2012-11-20 80 views
1

我用Zend Framework配置了PHPUnit。當我運行命令PHPunit Zend的可重複性問題

phpunit --configuration phpunit.xml 

我收到我有以下assert功能

$this->assertModule($urlParams['module']); 
$this->assertController($urlParams['controller']); 
$this->assertAction($urlParams['action']); 
$this->assertResponseCode(200); 

Declaration of Zend_Test_PHPUnit_Constraint_ResponseHeader::evaluate() should be compatible with that of PHPUnit_Framework_Constraint::evaluate() 

失敗消息我搜索了這個問題,並發現了許多相關的解決方案,如規定here 。我檢查了我的PHPUnit版本,它是3.7.9,Zend Framework 1只能與PHPUnit 3.5.x正常工作。

然後我試圖降級PHPUnit,如here所述。 un-installation進程成功運行。但是,當我去安裝降級版本,並運行命令

pear install phpunit/PHP_CodeCoverage-1.0.2 

它會產生一個錯誤

phing/phing requires package "phpunit/PHP_CodeCoverage" (version >= 1.1.0). phpunit/PHP_CodeCoverage cannot be installed, Conflicts with installed packages. 

一些身體告訴我如何處理這種情況?如何使已安裝的PHPUnit版本與Zend Framework 1.X兼容或如何正確降級我的PHPUnit?

最好的問候。

回答

0

您可以隨時安裝2個不同的PHPUnit實例。使用pear安裝最新版本的PHPUnit以使Phing正常工作,並使用Composer安裝PHPunit版本3.5.x - 按照說明here

如果一切正常完成,您將擁有最新版本的系統範圍的PHPUnit,並且在您的項目文件夾vendors/bin中,您將擁有PHPunit 3.5.x。使用第二個在ZF1中構建測試。

+0

這意味着我將創建一個文件夾「vendors/bin」,並在該文件夾中安裝phpunit 3.5.x? –

+0

[作曲家](http://getcomposer.org/doc/00-intro.md)會爲你做 – Roberto

+0

以及如何安裝該視圖作曲家?意味着我將在上面的目錄中創建一個'compsor.json'文件,並將它們放在那裏的代碼? –