![](/img/trans.png)
[英]phpunit : how to get the count of tests in a test directory without running test
[英]do PHPUnit tests need to be inside a “/test” directory?
使用 PHPUnit 時,測試是否需要在 /tests 目錄中? PHPUnit 如何知道測試是“測試”? 它是解析文件並查找方法名稱,還是使用某種文件命名約定?
測試是否需要在 /tests 目錄中?
不。
PHPUnit 如何知道測試是“測試”?
通過反射(以及由用戶指定要查看的目錄)。
它是解析文件並查找方法名稱,還是使用某種文件命名約定?
phpunit myTestStuff.php
PHPUnit_Framework_Test
擴展的PHPUnit_Framework_Test
簡而言之:
文件名需要以Test.php
,類需要從PHPUnit_Framework_TestCase
擴展(繼承樹的某個點)。
不過,將測試代碼與生產代碼分開是一種很好的做法。 通常它反映了文件夾結構。 但沒有什么能阻止你以不同的方式去做。 只需考慮為您的生產代碼生成統計數據(指標)更容易。
也許您希望為生產代碼自動檢查一些編碼規則,並為測試設置其他規則。
您希望為您的代碼生成代碼覆蓋率,並使其包含所有生產代碼但不是所有測試。 (PHPUnit 不會在覆蓋范圍內顯示您的測試類,而是顯示基類和輔助類)
約定是通過將Test
附加到您正在測試的類中來命名測試類和文件。 例如My_Cool_User
在My/Cool/User.php
將與測試My_Cool_UserTest
在My/Cool/UserTest.php
。
我更喜歡將測試分開放在它們自己的目錄中,但這不是必需的。 通過使用命名約定,您可以告訴 PHPUnit 如何查找與常規代碼混合的所有測試。 默認情況下,PHPUnit 遵循上述內容,因此如果您將其指向名為myproject
的文件夾,它將在其中查找以Test.php
結尾的所有文件。
進入您的設置和目錄,然后選擇並驗證您的測試和源位置是否已添加。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.