2012-11-30 153 views
4

您好我目前正在運行ZF2用戶指南試圖運行一個PHPUnit測試骨架應用程序,如此處所述http://zf2.readthedocs.org/en/latest/user-guide/unit-testing.htmlZend Framework 2 PHPUnit測試錯誤

但是,即使我沒有編輯的模塊和每一個我在Zend Studio的運行PHPUnit的測試時間,我得到這個錯誤從教程複製所有文件

錯誤:

Fatal error: Class 'ApplicationTest\Bootstrap' not found in C:\Program Files (x86)\Zend\Apache2\htdocs\exerciseDB\module\Application\test\ApplicationTest\Controller\IndexControllerTest.php on line 24 

但是當我點擊Bootstrap :: getServiceManager();在線24 Zend Studio帶我到正確的方法。

文件Stucture:

module 
|_Application 
    |_config 
    |_language 
    |_src 
    |_test 
     |_ApplicationTest 
     | |_Controller 
     |  |_IndexControllerTest.php 
     |_Bootstrap.php 
     |_phpunit.xml.dist 
     |_TestConfig.php.dist 

能anyine告訴我,我錯了?

回答

0

這是一個非常煩人的錯誤,有點刺激。您的phpunit配置似乎從骨架應用程序的配置略有改變。爲了給你直接的答案是固定我的問題,我做了以下...

module 
|_Application 
    |_config 
    |_language 
    |_src 
    |_tests 
     |_ZendApplicationModule 
     | |_Framework 
     |  |TestCase.php 
     | |_IndexControllerTest.php 
     | |_SampleTest.php 
     |_Bootstrap.php 
     |_phpunit.xml.dist 
     |_TestConfig.php.dist 

利用以上從骨架APP概述的基礎設置我不得不添加

require_once 'Framework/TestCase.php'; 

要SampleTest.php

對於您的實際修復,您將需要require_once生成問題的文件。這應該解決它。

另外,還要確保更新您的autoload_classmap.php

+0

感謝您的快速回復。在本教程http://zf2.readthedocs.org/en/latest/user-guide/unit-testing.html中沒有看到名爲SampleTest.php或TestCase.php的文件。你能指點我在哪裏我可以找到這些文件的示例副本請 –

+0

啊,我基於我最近做的git結帳。讓我看看他們的代碼。 –

+0

我剛剛將他們的代碼重複了100%,並且它基於您提供的頁面運行。你是在* nix盒子還是在Windows盒子上運行phpunit?這可能是一個路徑問題,我沒有窗口來測試抱歉。 –

0

我跑進PHPUnit的地方並沒有看到我的「模塊/應用/測試/ phpunit.xml.dist」文件同樣的問題(我有它錯過拼寫)

嘗試直接將文件添加到命令行: phpunit --bootstrap Bootstrap.php。

0

我也有問題。

我解決它通過從我ZF2項目根以以下的參數運行PHPUnit:

./vendor/bin/phpunit 
    --bootstrap ./module/Rest/test/Bootstrap.php 

你也可以指定測試套件的使用方法:

./vendor/bin/phpunit 
    --bootstrap ./module/Rest/test/Bootstrap.php 
    ./module/Rest/test/RestTest/Controller/RestControllerTest.php 

更多細節here

相關問題