2008-12-25 51 views

回答

7

如果你已經在Visual Studio中集成了單元測試(我認爲它是Professional和更好的一部分),那麼就從這個開始,因爲它是集成的。不過,據我所知,除了Visual Studio或Team Foundation Server之外,沒有其他的測試運行者不適合自動化測試,但我不確定這些信息的當前狀態。

其他替代方案是xUnit.net,NUnitmbUnit。由於缺乏經驗,我無法真正談論利弊,但現在我使用xUnit.net,因爲a)我知道從版本1.1開始就有一個可用的ASP.net MVC模板,b)Assert.Throws只是性感。我使用免費的個人版TestDriven.net作爲Visual Studio中的測試運行器。

有一個「如何開始」指南的xUnit:http://www.codeplex.com/xunit/Wiki/View.aspx?title=HowToUse

同樣,我真的不能比較它們由於缺乏與NUnit的和MbUnit的經驗,但我相信,所有三個都相當穩定並可用。

+0

由於缺少與CI服務器和其他第三方工具的開箱即用的集成,我會從除Visual Studio單元測試框架之外的任何東西開始 – Paco 2009-04-28 19:08:43

3

我使用一個烘焙到Visual Studio的版本,並且增加了TestDriven.Net這個右鍵菜單項,它允許我使用/不使用調試器來運行單個測試。我開始使用NUnit。任何一個可能都沒問題。我更喜歡在VS中使用這個工具,所以我不必同時支持這兩種工具,但是集成有一些優勢,尤其是在使用Team System時。

我相信TestDriven.Net支持很多不同的框架。您還需要使用覆蓋分析器來幫助您查看代碼的哪些部分已經被測試覆蓋,並幫助您確定可能需要的其他測試。你可能需要Team系統在VS的覆蓋率分析中出爐,但總是有NCover(隨TestDriven.Net提供)。

我建議你從Pragmatic ProgrammersTest Driven Development with C#Pragmatic Unit Testing in C#。兩者都會有例子。

Rob Conery的StoreFront這個例子是ASP.NET MVC的一個很好的例子。

3

Rob Conery創建了一個serie of videos,演示瞭如何使用MVC創建電子商務應用程序。他用一個完整的測試驅動的方法(使用內置的測試框架在Visual Studio 2008)

2

我想補充的唯一一件事就是一)給予他們一個嘗試,看看你喜歡什麼[這是一個垃圾答案,但每個人都有自己的喜歡和不喜歡,所以'試試看'卡玩得很多]和你遇到什麼摩擦點和B)檢查了XUnit CodePlex網站上的nice comparison of the primary unit test frameworks

0

讓我們先從一些基礎知識開始,好嗎?單元測試是指對可能的最小代碼進行測試,通常是代碼中的函數/過程/方法。我建議閱讀Martin Fowler的「Refactoring」,作爲一本關於單元測試如何在重構中發揮作用的好書。

根據您設置代碼的方式,您可能希望查看模擬框架,例如RhinoMocks,NMocks,.Net MockObjects等,以便您可以設置測試裝置以處理呼叫可能執行的預執行條件要求。在那裏可能有超過幾個模擬對象單元測試的例子,關於asp.net-mvc的教程應該有一個或兩個測試例子。

不要忘了,asp.net-mvc仍然處於測試階段,並且可能會因爲各種各樣的糾結而改變一些。

3

我建議你看看Gallio Automation Platform for .NET,因爲它提供了一箇中性(和免費)工具,可以在一個GUI工具下爲你實現多個單元測試框架。它由mbUnit後面的人創建。

我對任何單元測試框架的主要贊成是它使你對代碼有很大的信心,並且實踐TDD成爲一件很自然的事。

最主要的是,ASP.NET webforms(這是我傾向於編碼)不容易單元測試,這就是爲什麼ASP.NET MVC對人們如此有吸引力。另一個意思是,你需要進入它意識到,你將需要重新測試他們的代碼,即使不是更多。

0

我使用Selenium RCMoq。到目前爲止,我還沒有遇到太多的我無法測試並獲得良好報道的領域。

看看Selenium RC sample code。這是非常直接和容易遵循...

1

我不是想混淆你,如果你是一個開發人員,想測試ASP.NET MVC項目,然後使用XUnit,這是很好的,由微軟的員工開發。它有控制檯& gui跑步者,這有助於自動測試。 XUnit現在被大多數開發人員使用。

相關問題