2009-07-22 57 views
6

我從來沒有寫過/運行單元測試。我是一個相對年輕的程序員,但我做了很多的閱讀。我一直在尋找的信息,單元測試,因爲我看到了很多事情,但我還沒有碰到過任何東西,真的拼出來,我從第1步Visual Studio 2005的單元測試有詳細的「如何」

我的Visual Studio 2005專業版。我將在接下來的幾天裏開始一個新的Windows項目,我想用這個項目來削減我的單元測試牙齒,但我甚至不知道從哪裏開始。我見過一些網站說VS2005內置了單元測試,但在下面的例子中,我看到我沒有相同的上下文菜單內容。我應該創建一個單獨的項目或課程嗎?那麼關於迴歸的這個業務是什麼?每次構建時都會運行測試嗎?

SO有很多關於爲什麼要使用單元測試,所以我希望一些會員可以提供或指向我一個非常徹底的單元測試安裝,執行,結果走過精彩的內容。

+0

我不記得在Visual Studio 2005中看到過單元測試。測試菜單直到Visual Studio 2008纔出現。 – 2009-07-22 20:04:40

+1

它出現在我認爲的測試版和Arch版中。直到2008年 – 2009-07-22 20:32:55

回答

6

進行單元測試在Visual Studio 2005中,你將需要團隊系統,或者像NUnit的第三方單元測試框架。

有用於NUnit的快速啓動頁面,它可以幫助你決定是否NUnit的是適合你的。 NUnit的是類似於Visual Studio 2008的

http://www.nunit.org/index.php?p=quickStart&r=2.5

的內部測試也應該得到TestDriven.net。 TestDriven.net是一個Visual Studio加載項,它將nUnit與Visual Studio集成在一起。

羅伊·奧謝羅夫的單元測試藝術是一本關於單元測試的好書。 Roy Osherove在Scott Hanselman播客here中接受採訪。播客是一個很好的介紹了一些單元測試的原則和做法。

http://www.hanselminutes.com/default.aspx?showID=187

+0

羅伊的書沒有在專業,必須閱讀! – 2009-07-22 20:42:17

+0

MSTest中的基本NUnit風格單元測試不需要Team系統。在VS 2008 Pro中構建它的作品 - 但在我的答案中不要這樣做。 – 2009-07-28 20:24:53

0

的Visual Studio 2005專業版不具備單元測試內置的,我建議你下載最新版本的NUnit。你應該在一個單獨的項目中爲你的代碼創建你的測試。測試不會作爲您的構建的一部分運行,但您可以創建一個構建腳本,這些腳本既可以編譯代碼,也可以使用MSBuild或NAnt運行測試。

至於開始使用它,請使用NUnit查找有關單元測試的文章。你會發現它們比使用Visual Studio進行單元測試更容易找到它們。

0

另一種選擇學習MSTest的是抓住從here VS 2008的試用版本之一。我認爲試用期是90天足夠的時間來玩它。一旦你安裝了它 - 我們發現以下博客postingdocument它引用對基於VS 2008 \ MSTest的TDD入門非常有用。

3

儘管我很佩服你想學習 - 我可以恭敬地敦促你遠離mstest。儘管看起來很簡單,但mstest並不是一個好的測試框架。它簡單易行,可能會涵蓋學習案例,但更復雜的場景並不總是與MS測試理念兼容。我真的建議你從一個更簡單的框架開始,例如xunit,nunit,以及mocking這樣的nmock和moq。

這些框架不僅更易於理解 - 它們背後有大量的社區,作爲初學者,獲得幫助會更容易。

我同意Robert Harvey關於Roy Osherove的單元測試藝術的回答。

+0

不幸的是,如果你想在嵌入式領域使用COmpact Framework進行任何測試,那麼MSTest似乎是唯一的選擇:( – 2009-08-27 18:37:08

0

如果需要一些視覺幫助和解釋檢查dimecasts.net。他們有很好的視頻選擇,而且相當短。

我使用以下工具進行單元測試(以防萬一你沒有訪問團隊系統):

NUnit的
RhinoMocks
NCoverage
R· - 不是免費的,但一個偉大的工具各地