我在考慮在哪裏放置單元/集成測試項目。我遵循1個測試項目公關。項目約定單元測試項目放在哪裏
我能想到的3種方式,這一切似乎都對我很好,這使得它一種很難選擇:-)
- 測試項目下的測試放在子文件夾中的項目它試驗。
- 測試項目放在它測試的項目旁邊,位於「項目」.Tests文件夾中。我相信這是Roy Osherove推薦的。
- 將所有測試項目放入根目錄下的子文件夾中。例如\ Tests \「project」。測試
- 還有別的嗎?
你選擇什麼,爲什麼?
我在考慮在哪裏放置單元/集成測試項目。我遵循1個測試項目公關。項目約定單元測試項目放在哪裏
我能想到的3種方式,這一切似乎都對我很好,這使得它一種很難選擇:-)
你選擇什麼,爲什麼?
我會和#1一起去,這樣當你完成項目結賬時,你也有測試。否則,測試甚至會變得事後再想。
我喜歡讓所有項目在物理上處於同一級別。我沒有太大的爭議,只是爲了簡單。畢竟Visual Studio顯示同一級別的所有項目。
.../Project/Project.Web/ .../Project/Project.Model/ .../Project/Project.DataAccess/ .../Project/Project.UnitTest/ etc
選項2是我的首選。除了其他任何東西,它只是您創建新的類庫項目時的默認值 - 與生產項目位於同一解決方案目錄下。
爲了反駁關於在沒有測試的情況下籤出項目的爭論,我發現僅僅檢出一個項目而不是整個解決方案相對來說比較少見。如果您是「基於項目」而不是「基於解決方案」的商店,那可能會改變一切。
測試項目投產旁邊 項目,檢測所「項目」 .Tests 文件夾。我相信這是奧謝羅夫推薦的Roy 。
這是我個人的最愛。它能夠最清楚地表達意圖,並且可以輕鬆一目瞭然地查看哪些測試項目適用於哪些項目(如果您正在目錄中查看它們),還是有理由將項目分組爲單個解決方案。
Visual Studio 2010 Asp.Net MVC解決方案中的默認設置是同一解決方案中的不同項目。當涉及到所有引用的測試編譯時,這是一個很大的幫助。
我相信選項2是最好的選擇。測試是記錄代碼的好方法。他們明確了方法和類的語義。程序員應該很容易跳到測試代碼中尋找他覺得可疑的某種方法。
另一方面,將測試代碼保存在同一個項目中可能會使編譯後的二進制輸出變大,並強制項目只具有測試代碼所需的依賴關係。