簡體   English   中英

PHPUnit 測試需要在“/test”目錄中嗎?

[英]do PHPUnit tests need to be inside a “/test” directory?

使用 PHPUnit 時,測試是否需要在 /tests 目錄中? PHPUnit 如何知道測試是“測試”? 它是解析文件並查找方法名稱,還是使用某種文件命名約定?

測試是否需要在 /tests 目錄中?

不。

PHPUnit 如何知道測試是“測試”?

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

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

簡而言之:

文件名需要以Test.php ,類需要從PHPUnit_Framework_TestCase擴展(繼承樹的某個點)。

不過,將測試代碼與生產代碼分開是一種很好的做法。 通常它反映了文件夾結構。 但沒有什么能阻止你以不同的方式去做。 只需考慮為您的生產代碼生成統計數據(指標)更容易。

也許您希望為生產代碼自動檢查一些編碼規則,並為測試設置其他規則。

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

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

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

進入您的設置和目錄,然后選擇並驗證您的測試和源位置是否已添加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM