[英]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.net , NUnit和mbUnit 。 由於缺乏經驗,我無法真正談論優缺點,但我現在使用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對人們如此有吸引力的原因。 另一個問題是你需要進入它,意識到你需要像他們運用的代碼一樣重構測試,如果不是更多的話。
我不是要混淆你,如果你是一名開發人員並且想要測試ASP.NET MVC項目然后使用XUnit,它很好並且由微軟的員工開發。 它有控制台和gui跑步者,有助於自動測試。 XUnit現在被大多數開發人員使用。
讓我們先從一些基礎知識開始,好嗎? 單元測試是指對可能的最小代碼進行測試,通常是代碼中的函數/過程/方法。 我建議看看Martin Fowler的“Refactoring”作為一本關於單元測試如何在重構中發揮作用的好書。
根據您設置代碼的方式,您可能需要查看模擬框架,例如RhinoMocks,NMocks,.Net MockObjects,以便您可以設置測試裝置來處理調用可能需要的預執行條件。 可能有不止一些模擬對象單元測試示例,而asp.net-mvc上的教程應該有一兩個測試示例。
不要忘記asp.net-mvc仍然處於測試階段,並且隨着各種扭結得到解決,可能會更改一些。
我正在使用Selenium RC和Moq 。 到目前為止,我還沒有碰到太多我無法測試並獲得良好報道的領域。
看一下Selenium RC示例代碼 。 它非常簡單易懂......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.