[英]Best location for unit test code
我有一個多項目解決方案,我希望將單元測試應用到。 該項目封裝良好,大多數單元測試僅使用他們正在測試的項目中的類。
我還有一些集成測試用例,用於測試多個項目的交互。
顯然,我可以將所有測試代碼放在一個單獨的項目中,但我對創建一個在整個解決方案中具有依賴關系的Great Project的想法持謹慎態度。
為每個項目中的單元測試創建一個私有類是否更好,並且有一個單獨的集成測試項目? 或者沒有明顯的建築效益?
您應該將單元測試放入單獨的程序集中。 通過這樣做,您可以確保它們不屬於任何已發布的產品。
如果您采用的慣例是測試項目的名稱中包含單詞Test
,那么在最終構建輸出中刪除外卡是一件簡單的事情,以確保您不會發送測試程序集。
我對創建一個通過整個解決方案具有依賴性的Great Project的想法持謹慎態度
隨着您的解決方案規模的擴大,您可以將測試分解為針對應用程序特定區域的程序集 - 您可以從單片測試程序集開始,然后在有意義的時候將其拆分。
擁有使用包含大約110個項目(包括單元測試項目)的解決方案的經驗,我可能需要添加一些內容
我使用過的一個實現使用了類似這樣的項目結構:
- CompanyName.Feature
- CompanyName.Fetaure.Test.Unit
- CompanyName.Feature.Test.Integration
- CompanyName.Feature.Test.Load
- etc...
與整體測試項目相比,這種粒度級別是一種改進; 但是,我覺得有更好的方法
而不是打破所有測試, 而是確保您按功能測試功能。 那時我會很自在地將我的單元和集成測試放在同一個項目中,映射到不同的文件夾。 理想情況下是這樣的:
- CompanyName.Feature
- CompanyName.Feature.Test
\Unit
\Integration
\Load
\etc...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.