2013-12-08 106 views
0

雖然我的其他Codeception測試正在運行(accept,api等),但很少的單元測試會運行。它沒有看到任何Test.php類型的測試,只有Cept.php和Cest.php。它不接受(錯誤)任何斷言測試,例如「$ this-> assertEquals($ expeced。'expect this')。我該如何解決這個問題,因爲僅僅失敗的測試纔會返回: Codeception PHP測試框架v1.8.1 由PHPUnit 3.7.28由Sebastian Bergmann提供如何解決laravel中的codeception單元測試問題4

phpunit似乎是安裝的,因爲我在供應商目錄中看到它,我可以直接從命令行運行它來查看它的幫助,但這是關於它。單元測試一般用Laravel/Codeception組合酥?是否有一些配置我失蹤???

+0

你是否用測試前綴命名單元測試的功能?例如公共功能testGet()? –

+0

是的。它似乎並沒有發現phpunit。它會錯誤並返回調用未定義的方法SampleCest :: assertEquals() in /Users/falaco/sites/acme/app/tests/unit/SampleCest.php:36 – user3061986

+0

你可以粘貼測試功能,也許在paste.laravel。 COM? –

回答

0

好像這個問題是測試類的創建。

你宣佈你想要use \CodeGuy; - 你不想那麼做。

相反,你想要像這樣擴展你的班級。

class SampleCest extends \Codeception\TestCase\Test 

我的建議:使用codeception來產生你的單元測試。

codecept.phar generate:phpunit unit Sample 
+0

這並不奏效,同樣的事情。生成的測試不起作用。 – user3061986

+0

我通過安裝Jeffery Way的phpunit包裝器解決了這個問題。現在我可以使用Way的assertion syntaz進行測試,它可以工作。仍然不確定問題是什麼,但我希望在這種情況下有更好的調試方法。 – user3061986

+0

您沒有有效的CodeCeption單元測試類。我試圖修復它,並將代碼粘貼到代碼生成的類中。我認爲你繼承錯了。不記得了。 –