當使用PHPUnit時,測試是否需要位於/ tests目錄中? PHPUnit如何知道測試是「測試」?它解析文件並查找方法名稱,還是使用某種文件命名約定?PHPUnit測試需要在「/ test」目錄中嗎?
4
A
回答
5
測試需要在/ tests目錄中嗎?
號
的PHPUnit如何知道一個測試是 「測試」?
通過反射(以及由用戶指定查看目錄)。
2
約定是通過將Test
附加到正在測試的類的名稱來命名測試類和文件。例如My_Cool_User
在My/Cool/User.php
中將用My_Cool_UserTest
在My/Cool/UserTest.php
中進行測試。
我更喜歡在自己的目錄中分開測試,但這不是必需的。通過使用命名約定,您可以告訴PHPUnit如何查找與常規代碼混合的所有測試。默認情況下,PHPUnit遵循上面的說明,所以如果將它指向一個名爲myproject
的文件夾,它將查找以Test.php
結尾的所有文件。
3
它是否解析文件並查找方法名稱,或者使用某種文件命名約定?
- If first checks if the passed argument is a file所以你可以調用
phpunit myTestStuff.php
- 由於通過calling File_Iterator不是你的情況It recursively scans the directory和添加的所有文件end in "Test.php" and ".phpt" to your testsuite.
- It then goes through all those files,並添加所有的classes that extend from
PHPUnit_Framework_Test
- 然後測試運行
S o總之:
文件名需要在Test.php
結束,類需要從PHPUnit_Framework_TestCase
(某些點繼承樹繼承)。
儘管如此,將測試代碼與生產代碼分離是一種很好的做法。通常它鏡像文件夾結構。但是沒有什麼能阻止你做不同的事情。只要考慮爲您的生產代碼生成統計信息(指標)更容易。
也許你想爲生產代碼和其他測試自動檢查編碼規則。
您希望爲您的代碼生成代碼覆蓋率並使其包含所有生產代碼,但不包括所有測試。 (PHPUnit不會在覆蓋範圍內顯示您的測試類,但是基類和幫助類)
相關問題
- 1. ci-phpunit-test退出中斷測試
- 2. PHPUnit測試的目錄佈局?
- 3. 我在Chrome中測試過,我需要在Safari中測試嗎?
- 4. 用Boost :: Test測試DLL嗎?
- 5. caffe:需要測試嗎?
- 6. JUnit測試用例需要測試目錄
- 7. 如何記錄PHPUnit測試
- 8. 如何在phpunit中運行目錄結構化測試?
- 9. phpunit - 幫助需要關於風險測試
- 10. phpunit在目錄
- 11. PHPUnit致命錯誤:運行測試時需要()
- 12. 用phpunit測試
- 13. PHPUnit進行測試
- 14. 在PHPUnit中測試異常
- 15. 在phpunit測試中回顯
- 16. 測試iterables PHPUnit中
- 17. PHPUnit測試分離
- 18. 不能要求phpUnit中的父目錄
- 19. Maven中的單元測試需要訪問src/main/webapp目錄
- 20. 我需要測試一個目錄在unix
- 21. PHPUnit測試模具
- 22. Mysql的SAVEPOINT在PHPUnit測試
- 23. 需要測試node.js
- 24. 如何在maven中運行JUnit測試如果測試不在測試目錄中,但是在主目錄中並且類名不含關鍵字。* Test。*
- 25. 我需要測試這個嗎?
- 26. CakePHP PHPUnit測試
- 27. Phpunit:在測試套件外測試文件
- 28. PHPUnit和auto測試類的要求
- 29. 我需要「Android unlocked dev phone」來測試我的android項目嗎?
- 30. Phpunit權限測試
是否有關於此的任何其他信息或鏈接? –
當然,文檔告訴你如何啓動testrunner並解釋它的參數,它指定了如何編寫測試:http://www.phpunit.de/manual/3.6/en/index.html - 附加信息可用在PHPUnit本身的源代碼中:https://github.com/sebastianbergmann/phpunit/ – hakre