2012-12-11 82 views
2

我有一個包含大約18個項目的visual studio解決方案。我想爲這些項目編寫單元測試(通過創建一個包含針對每個源項目的單元測試的測試項目)。單元測試的單獨visual studio解決方案?

我應該使用包含所有測試項目的單獨解決方案嗎?還是應該使用Visual Studio 2008的分區解決方案,併爲所有測試項目創建子解決方案?

回答

4

將單元測試放在單獨的解決方案中似乎會產生問題。本質上,單元測試必須能夠引用它們正在測試的類型(類)。如果在單獨的解決方案中,那麼它意味着二元關聯。這看起來很「困難」。

因此,要探討這個問題的原因,並希望能提供一些幫助,這些都是原因,我把我的單元測試在同一個解決方案:

  • 項目引用。我喜歡將單元測試項目命名爲.Tests其中是生產組件的名稱,其中包含正在測試的類型。這樣它們在VS中彼此相鄰(字母順序)。

  • 隨着TDD的發展,我需要在生產代碼和單元測試之間快速切換。這是關於編寫代碼,而不是關於郵政編碼測試。

  • 我可以選擇在解決方案窗格頂部的解決方案節點,並說「運行所有測試」(我用ReSharper的(

  • 構建養殖場(TeamCity的)總是運行在所有提交的所有測試。他們都更容易在一個解決方案。

我寫這篇文章我不知道爲什麼把他們在另一種解決方案。單元測試與生產代碼的解決方案之外沒有任何意義。

也許你可以解釋你爲什麼要問這個問題。你能否看到他們在同一解決方案中遇到問題?對我來說,18個項目看起來不是很多。我工作的解決方案還有更多...但是如果使用Resharper(以及爲什麼不這樣做?),您將需要足夠的RAM給您。

希望這有一些幫助。

+0

實際上,我的解決方案中的項目大小非常大,Visual Studio需要大量的時間來加載完整的解決方案。更新智能感是另一個需要足夠時間的問題。另外,我需要將代碼從單元測試中分離出來,這樣當開發人員需要編寫單元測試時,他/她只能處理包含單元測試的解決方案。 –

+0

所以我可以幫你量化'非常大'。這裏的多個答案取決於什麼是「非常大」。 –

相關問題