我有一個Zend-Framework 2項目,我有問題來組織我的單元測試。我的單元測試位於每個模塊的一個「測試」文件夾中。如果我使用phpunit在模塊的測試文件夾中從命令行運行測試,測試將成功運行。如何處理Zend Framework 2中的單元測試?
實施例:
C:\項目\模塊\ AccessControl的\測試> PHPUnit的
PHPUnit 3.7.14 by Sebastian Bergmann.
Configuration read from c:\project\module\AccessControl\test\phpunit.xml
........Time: 0 seconds, Memory: 8.25Mb
OK (8 tests, 10 assertions)
問題:在這裏只有一個模塊將testet。但我想從文件夾c:\ project \運行一個測試套件來測試這個洞項目。 那裏我已經把一個bootstrap.php和一個phpunit.xml。
C:
從命令行我運行\項目\測試> PHPUnit的--debug --configuration phpunit.xml
PHPUnit 3.7.14 by Sebastian Bergmann.
Configuration read from C:\project\tests\phpunit.xml
Starting test 'AccessControlTest\Model\AuthenticationTest::testInitDefault'.
PHP Fatal error: Class 'AccessControlTest\Bootstrap' not found in C:\project\module\AccessControl\test\AccessControlTest\Model\AuthenticationTest.php on line 22
PHP Stack trace:
PHP 1. {main}() C:\Program Files (x86)\PHP\phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() C:\Program Files (x86)\PHP\phpunit:46
PHP 3. PHPUnit_TextUI_Command->run() C:\Program Files (x86)\PHP\PEAR\PHPUnit\TextUI\Command.php:129
PHP 4. PHPUnit_TextUI_TestRunner->doRun() C:\Program Files (x86)\PHP\PEAR\PHPUnit\TextUI\Command.php:176
PHP 5. PHPUnit_Framework_TestSuite->run() C:\Program Files (x86)\PHP\PEAR\PHPUnit\TextUI\TestRunner.php:346
PHP 6. PHPUnit_Framework_TestSuite->run() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestSuite.php:705
PHP 7. PHPUnit_Framework_TestSuite->runTest() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestSuite.php:745
PHP 8. PHPUnit_Framework_TestCase->run() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestSuite.php:775
PHP 9. PHPUnit_Framework_TestResult->run() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestCase.php:769
PHP 10. PHPUnit_Framework_TestCase->runBare() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestResult.php:648
PHP 11. AccessControlTest\Model\AuthenticationTest->setUp() C:\Program Files (x86)\PHP\PEAR\PHPUnit\Framework\TestCase.php:821
文件phpunit.xml看起來是這樣的:
<phpunit bootstrap="./Bootstrap.php" colors="true" verbose="true">
<testsuite name="SgtrCatalogTestsuite">
<directory>../module/AccessControl</directory>
</testsuite>
</phpunit>
它看起來像一些模塊路徑不正確。有人可以幫助並告訴我如何設置?
編輯 Ty for your replys !!!
在此期間,我發現這個: How to consolidate ZF2 unit/application module tests into a single call?
似乎無法逃避所有根層次Rootlevel模塊測試。我現在嘗試使用這個,讓你知道,如果它的工作原理:https://github.com/prolic/HumusPHPUnitModule
你有你的自動加載composer.json? – mpacheco 2014-11-03 14:37:15
你的Bootstrap.php是什麼樣的? – Schleis 2014-11-03 14:55:46
ty,自動裝載機在那裏...我編輯的問題,因爲我發現了一個可能的重複 – 2014-11-03 15:07:18