2013-03-25 50 views
1

我在我的Zend Framework 2應用程序中編寫了兩個簡單模型類:Catalog\Model\CityCatalog\Model\CityTyble。因爲這些單元測試都還沒有寫完。但是,當我創建報告([email protected]:/path/to/project/module/Catalog/test# phpunit --coverage-html ./report),其中一個類顯示爲測試:PHPUnit報告標記未經測試的方法

enter image description here

...和方法:

enter image description here

有沒有對測試方法這個班,甚至不存在一個班。

這是什麼錯誤?爲什麼這些未經測試的類/這些未經測試的方法顯示爲經過測試?

回答

2

此報告並不完全代表正在測試的代碼。報告只是說這些行正在執行。所以,如果你有測試執行某些行,你假設他們正在測試。要獲取此信息,PHPUnit使用PHP_CodeCoverage

您是否有可能由PHPUnit執行的任何代碼?正如報告中說,你的代碼的地方,PHPUnit的執行時,即創建CityTable的一個實例,並調用方法使用fetchall()

如果使用a configuration file,檢查,如果你告訴PHPUnit來執行正確的文件。

+0

謝謝你的回答!不,沒有模型代碼,它是在單元測試_directly_中執行的。只有一個測試類('CatalogControllerTest'),它包含三個控制器動作的三個方法(其中一個方法執行一個模型動作)。但最奇怪的是:我剛剛評論了所有測試(全部三種控制器測試方法),創建了一個新報告,然後刪除了評論,再次創建報告 - 現在只顯示「CatalogController.php」。所以,現在它按預期工作。我無法重現上面描述的奇怪行爲。 – automatix 2013-03-28 16:09:54