簡體   English   中英

哪個單元測試框架以及如何入門(對於asp.net mvc)

[英]Which Unit test framework and how to get started (for asp.net mvc)

我以前從未做過單元測試,但現在我願意嘗試一下。

什么框架最適合初學者? 優點和缺點

在開始任何編碼之前我應該​​閱讀什么? 書籍/文章/代碼/博客

是否有任何開源“示例項目”?

我將使用asp.net mvc / C#來使用它。

如果你在Visual Studio中集成了單元測試(我認為它是Professional和更好的一部分),那么從這開始,因為它是集成的。 根據我的知識,在Visual Studio或Team Foundation Server之外沒有測試運行器取消了自動化測試的資格,但我不確定該信息的當前狀態。

其他替代方案是xUnit.netNUnitmbUnit 由於缺乏經驗,我無法真正談論優缺點,但我現在使用xUnit.net因為a)我知道自1.1版以來有一個有效的ASP.net MVC模板和b)Assert.Throws只是性感。 我使用免費的個人版TestDriven.net作為Visual Studio中的Test Runner。

xUnit有一個“如何入門”指南: http//www.codeplex.com/xunit/Wiki/View.aspx? title = HowToUse

再次,由於缺乏NUnit和mbUnit的經驗,我無法真正比​​較它們,但我相信這三者都非常穩定和可用。

我使用添加了TestDriven.Net的 Visual Studio附帶的右鍵菜單項,允許我使用/不使用調試器運行單個測試。 我開始使用NUnit。 任何一個都可能沒事。 我更喜歡在VS中使用它,所以我不必支持這兩種工具,但是集成有一些優點,特別是如果你使用Team System。

我相信TestDriven.Net支持許多不同的框架。 您還需要使用coverage分析器來幫助您查看測試涵蓋了代碼的哪些部分,並幫助您確定可能需要的其他測試。 您可能需要在VS的覆蓋率分析中獲得團隊系統,但總有NCover(TestDriven.Net附帶)。

我建議使用C#實用程序員測試驅動開發中查看C#中的 用單元測試 兩者都有例子。

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

Rob Conery創建了一系列視頻,展示了如何使用MVC創建電子商務應用程序。 他正在使用完整的測試驅動方法(使用visual studio 2008中的內置測試框架)

我建議您查看Gallio Automation Platform for .NET,因為它提供了一個中立(和免費)工具,可以在一個GUI工具下為您實現多個單元測試框架。 它是由mbUnit背后的人創建的。

我對任何單元測試框架的主要專業是它讓你對代碼充滿信心,而實踐TDD變得非常自然。

主要的一點是ASP.NET webforms(我傾向於編寫代碼)不容易進行單元測試,這就是ASP.NET MVC對人們如此有吸引力的原因。 另一個問題是你需要進入它,意識到你需要像他們運用的代碼一樣重構測試,如果不是更多的話。

我唯一要補充的是a)給他們一個嘗試,看看你喜歡什么[這是一個廢話的答案,但每個人都有他們自己的喜歡和不喜歡'嘗試'卡得到很多]和什么摩擦指向你遇到和b)檢查XUnit CodePlex站點上主要單元測試框架的一個很好的比較

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

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

根據您設置代碼的方式,您可能需要查看模擬框架,例如RhinoMocks,NMocks,.Net MockObjects,以便您可以設置測試裝置來處理調用可能需要的預執行條件。 可能有不止一些模擬對象單元測試示例,而asp.net-mvc上的教程應該有一兩個測試示例。

不要忘記asp.net-mvc仍然處於測試階段,並且隨着各種扭結得到解決,可能會更改一些。

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

看一下Selenium RC示例代碼 它非常簡單易懂......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM