我有一個包含大約18個項目的visual studio解決方案。我想爲這些項目編寫單元測試(通過創建一個包含針對每個源項目的單元測試的測試項目)。單元測試的單獨visual studio解決方案?
我應該使用包含所有測試項目的單獨解決方案嗎?還是應該使用Visual Studio 2008的分區解決方案,併爲所有測試項目創建子解決方案?
我有一個包含大約18個項目的visual studio解決方案。我想爲這些項目編寫單元測試(通過創建一個包含針對每個源項目的單元測試的測試項目)。單元測試的單獨visual studio解決方案?
我應該使用包含所有測試項目的單獨解決方案嗎?還是應該使用Visual Studio 2008的分區解決方案,併爲所有測試項目創建子解決方案?
將單元測試放在單獨的解決方案中似乎會產生問題。本質上,單元測試必須能夠引用它們正在測試的類型(類)。如果在單獨的解決方案中,那麼它意味着二元關聯。這看起來很「困難」。
因此,要探討這個問題的原因,並希望能提供一些幫助,這些都是原因,我把我的單元測試在同一個解決方案:
項目引用。我喜歡將單元測試項目命名爲.Tests其中是生產組件的名稱,其中包含正在測試的類型。這樣它們在VS中彼此相鄰(字母順序)。
隨着TDD的發展,我需要在生產代碼和單元測試之間快速切換。這是關於編寫代碼,而不是關於郵政編碼測試。
我可以選擇在解決方案窗格頂部的解決方案節點,並說「運行所有測試」(我用ReSharper的(
構建養殖場(TeamCity的)總是運行在所有提交的所有測試。他們都更容易在一個解決方案。
我寫這篇文章我不知道爲什麼把他們在另一種解決方案。單元測試與生產代碼的解決方案之外沒有任何意義。
也許你可以解釋你爲什麼要問這個問題。你能否看到他們在同一解決方案中遇到問題?對我來說,18個項目看起來不是很多。我工作的解決方案還有更多...但是如果使用Resharper(以及爲什麼不這樣做?),您將需要足夠的RAM給您。
希望這有一些幫助。
實際上,我的解決方案中的項目大小非常大,Visual Studio需要大量的時間來加載完整的解決方案。更新智能感是另一個需要足夠時間的問題。另外,我需要將代碼從單元測試中分離出來,這樣當開發人員需要編寫單元測試時,他/她只能處理包含單元測試的解決方案。 –
所以我可以幫你量化'非常大'。這裏的多個答案取決於什麼是「非常大」。 –