2011-06-05 69 views
4

只是想在我的本地框運行一個簡單的測試中發現,但我得到了以下錯誤:運行PHP致命錯誤:類「CTestCase」不

$ phpunit UserTest 

我想,當

PHP Fatal error: Class 'CTestCase' not found in .... 

我的配置必須缺少一些東西?我無法弄清楚什麼。

使用:

OSX 10.6.7

PHP 5.3.4

的PHPUnit 3.5.13

的Yii 1.1.7

+3

請發表您的測試用例的代碼網址,以便我們幫助你的希望。正如Asaph所說,通過命令行或'bootstrap.php'文件確保您的include路徑設置正確。 – 2011-06-05 08:29:55

+0

是的,謝謝!我必須將PHPUnit指向測試目錄中包含的phpunit.xml文件以映射所有Yii類。 xml文件指向bootstrap.php,所以一切都很好! – keeg 2011-06-09 21:25:43

回答

13

確保你運行phpunit在你的phpunit.xml所在的同一目錄下。 :)

0

該錯誤消息告訴您無法找到類CTestCase。 PHPUnit接受命令行上的--include-path選項。你可以嘗試這樣的:

$ phpunit --include-path .:/path/to/dir/containing/CTestCase UserTest 
+0

謝謝,雖然這可能會起作用,但它不是首選解決方案,因爲我需要爲每個測試用例重複這些步驟。我已經在遠程服務器上進行了此設置,並且無需使用include-path即可正常工作。我必須錯過別的東西...... – keeg 2011-06-06 19:10:58

+1

@keeg:由於@David Harkness在他的評論中提到,'include_path'也可以在boostrap文件中設置。沒有您在問題中發佈您的代碼,我們很難爲您診斷問題。另一個基於OSX上的PHP經驗的猜測:它是否是一個區分大小寫的問題? OSX文件名不區分大小寫,當你包含''require''文件時,它是寬容的。然後,當您轉移到區分大小寫的平臺時,您的代碼可能會中斷。 – Asaph 2011-06-06 19:17:47

0

我找到了我的解決方案。但我不確定這是否適合你。

這裏是解決方案

http://www.yiiframework.com/forum/index.php/topic/4728-running-unit-tests-on-windows-problem/