2011-11-16 66 views
-6

我們正在構建一個新產品,並且正處於階段0中。我被賦予了一個任務來決定應該使用哪個單元測試工具。我曾經在Rhino mock,NuNit和testdriven.net上工作過,我喜歡他們。推薦使用單元測試工具來測試Web服務,api調用和sql調用

我想知道他們的優點和缺點,可以幫助我決定選擇哪一個。

+3

請具體談談你真正需要的項目。 – Efrain

+0

我更新了top.thanks – alice7

+0

我會建議你在一定程度上公開你的應用程序,然後只有一個人可以建議你一個合適的測試工具 – Sandy

回答

5

你提到犀牛嘲笑,NUnit的測試驅動和。我不會將這些相互比較。但是,您可以將這些與其他對象進行比較。

這是一個開始! - 我想包括比較

鏈接

單元測試框架

  • NUnit的
  • MSTEST
  • MbUnit的
  • 的xUnit

NUnit vs. MbUnit vs. MSTest vs. xUnit.net

我稍微偏好NUnit,似乎是使用最多的一種,而且它非常易於使用。但我不介意其他人。

測試

的風格我想這會影響我的測試中選擇最。 單元測試可以使用AAA(Arrange Action Assert)或BDD(Behavior Driven Development)來完成。

我發現BDD對域驅動設計非常有幫助,因爲它測試了使用故事並將域作爲測試主題。

對於AAA您可以使用單位框架。

BDD框架

TDD VS BDD(該方法的比較) http://lostechies.com/seanchambers/2008/12/07/starting-with-bdd-vs-starting-with-tdd/

嘲笑

查找你喜歡的設立嘲笑語法。 .NET空間中有這麼多。

  • 犀牛嘲笑
  • 起訂量
  • NMock
  • TypeMock(使用,如果你想模擬出的具體類型,但不是免費的)

https://stackoverflow.com/questions/37359/what-c-sharp-mocking-framework-to-use

VS插​​件

同樣,無論讓你感覺更好

  • TestDriven.NET
  • ReSharper - 我喜歡這個(與PartCover使用)
  • VS(測試窗口)

代碼覆蓋率

你沒有提到這一點,但是你必須能夠證明所寫的代碼。

http://geekswithblogs.net/thomasweller/archive/2010/07/16/dotcover---a-new-kid-on-the-development-block.aspx

編輯

測試Web服務

數據庫測試

  • Sqlite - 如果你正在使用的ORM(NHibernate的爲例),作爲SQL可以稍微改變你sql供應商
  • NDbUnit - 如果您正在使用SP的,ORM或手手搖SQL

希望這有助於

1

因爲所有的單元測試框架(至少我知道的)是基於非常類似的原則,我想使用哪一個是主要的喜好問題。 Here's a table comparing the usage details of various common frameworks in the .net world.

如果您想要採用更多的BDD風格,我建議您查看SpecFlow或Machine.Specifications(MSpec)。儘管兩者都需要基於xUnit的單元測試框架。

作爲一名測試運動員,我自己使用了testdriven.net,但這也是一個有趣的問題。如果您使用的是ReSharper或DevExpress CodeRush(您使用這樣的工具,對吧?),您可以分別使用他們的測試運行器。 (儘管我個人根本不喜歡DevExpress的測試亞軍。)

嘲笑框架也是如此。用你喜歡的東西。