Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am trying to unit test my Zend Framework application using PHPUnit 3.6.4. I get the following error when i try this command in my command prompt.

C:\xampp\htdocs\testsample\tests>phpunit --configuration phpunit.xml
PHPUnit 3.6.4 by Sebastian Bergmann.

Configuration read from C:\xampp\htdocs\testsample\tests\phpunit.xml

←[31;1mE←[0m←[31;1mE←[0m..

Time: 0 seconds, Memory: 10.00Mb

There were 2 errors:

1) IndexControllerTest::testIndexWithMessageAction
Declaration of Zend_Test_PHPUnit_Constraint_DomQuery::evaluate() should be compatible         
with that of PHPUnit_Framework_Constraint::evaluate()

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\Constraint\DomQuery.php:40
C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:512
C:\xampp\htdocs\testsample\tests\application\controllers\IndexControllerTest.php
:14
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:925
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:787
C:\xampp\php\PEAR\PHPUnit\Framework\TestResult.php:649
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:734
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:772
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:745
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:705
C:\xampp\php\PEAR\PHPUnit\TextUI\TestRunner.php:325
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:187
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:125
C:\xampp\php\phpunit:44

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

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\Constraint\ResponseHeader.php:400

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:769
C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:769
C:\xampp\htdocs\testsample\tests\application\controllers\IndexControllerTest.php
:22
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:925
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:787
C:\xampp\php\PEAR\PHPUnit\Framework\TestResult.php:649
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:734
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:772
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:745
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:705
C:\xampp\php\PEAR\PHPUnit\TextUI\TestRunner.php:325
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:187
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:125
C:\xampp\php\phpunit:44

←[37;41m←[2KFAILURES!
←[0m←[37;41m←[2KTests: 4, Assertions: 10, Errors: 2.
←[0m←[2K
Generating code coverage report, this may take a moment.

Why am i getting this error? What is that I've done wrong? Please help me

like image 351
Srivathsa Avatar asked Dec 05 '11 18:12

Srivathsa


3 Answers

Zend Framework 1 applications currently, and possibly for quite some time, only function properly using PHPUnit 3.5.x.

Please see downgrade phpunit 3.6 to 3.5.15 on how to downgrade to 3.5.

Zend Framework 2 will support the current version of PHPUnit again.

like image 88
edorian Avatar answered Nov 17 '22 02:11

edorian


You can suppress the version incompatibility error using the phpdoc @expectedException command:

/**
 * test bad url
 * @requires PHPUnit 3.5.15
 * @expectedException PHPUnit_Framework_Error_Notice
 * // Zend Framework 1.X cannot use anything greater than PHPUnit 3.5.15
 * */
public function test_InvalidUrl_wrong_action()
{
    $this->dispatch('/index/fake');
    $this->assertController('error','should be the error controller');
    $this->assertAction('error','should be the error action');
    $this->assertResponseCode(200);
}
like image 27
hanmari Avatar answered Nov 17 '22 03:11

hanmari


Never thought I will answer a 2 year old post, I encountered the verry same issue and found this site by a gentleman who modified the Zend library and it worked for me (I couldn`t downgrade...) Hope it will help somebody :-)

like image 43
ka_lin Avatar answered Nov 17 '22 03:11

ka_lin