2011-09-21 38 views

回答

5

測試需要在/ tests目錄中嗎?

的PHPUnit如何知道一個測試是 「測試」?

通過反射(以及由用戶指定查看目錄)。

+0

是否有關於此的任何其他信息或鏈接? –

+0

當然,文檔告訴你如何啓動testrunner並解釋它的參數,它指定了如何編寫測試:http://www.phpunit.de/manual/3.6/en/index.html - 附加信息可用在PHPUnit本身的源代碼中:https://github.com/sebastianbergmann/phpunit/ – hakre

2

約定是通過將​​Test附加到正在測試的類的名稱來命名測試類和文件。例如My_Cool_UserMy/Cool/User.php中將用My_Cool_UserTestMy/Cool/UserTest.php中進行測試。

我更喜歡在自己的目錄中分開測試,但這不是必需的。通過使用命名約定,您可以告訴PHPUnit如何查找與常規代碼混合的所有測試。默認情況下,PHPUnit遵循上面的說明,所以如果將它指向一個名爲myproject的文件夾,它將查找以Test.php結尾的所有文件。

3

它是否解析文件並查找方法名稱,或者使用某種文件命名約定?

S o總之:

文件名需要在Test.php結束,類需要從PHPUnit_Framework_TestCase(某些點繼承樹繼承)。

儘管如此,將測試代碼與生產代碼分離是一種很好的做法。通常它鏡像文件夾結構。但是沒有什麼能阻止你做不同的事情。只要考慮爲您的生產代碼生成統計信息(指標)更容易。

也許你想爲生產代碼和其他測試自動檢查編碼規則。

您希望爲您的代碼生成代碼覆蓋率並使其包含所有生產代碼,但不包括所有測試。 (PHPUnit不會在覆蓋範圍內顯示您的測試類,但是基類和幫助類)