推荐的单元测试工具,用于测试web服务、api调用和sql调用

本文关键字:调用 服务 api web sql 测试 单元 测试工具 用于 | 更新日期: 2023-09-27 18:15:06

我们正在构建一个新产品,我们处于阶段0。我的任务是决定应该使用哪个单元测试工具。我曾经使用过Rhino mock、NuNit和testdriven.net,我喜欢它们。

我想知道它们的优缺点,这样可以帮助我决定选择哪一个。

推荐的单元测试工具,用于测试web服务、api调用和sql调用

您提到了Rhino Mocks、NUnit和TestDriven。我不会把它们相互比较。但是,您可以将它们与对应的内容进行比较。

这是一个开始!-我试图包括链接的比较

单元测试框架
  • NUnit
  • MsTest
  • MBUnit
  • xUnit

NUnit vs. MbUnit vs. mest vs. xUnit.net

我稍微喜欢NUnit,似乎是最常用的,它非常容易使用。但我不介意其他人。

测试类型

我想这对我的测试选择影响最大。单元测试可以使用AAA(安排动作断言)或BDD(行为驱动开发)来完成。

我发现BDD对领域驱动设计非常有帮助,因为它测试了使用故事,并将领域作为测试的主题。

对于AAA,你可以使用Unit Frameworks。

BDD框架
  • SpecFlow
  • StoryQ
  • 简单。测试
  • MSpec

Tdd vs Bdd(方法比较)http://lostechies.com/seanchambers/2008/12/07/starting-with-bdd-vs-starting-with-tdd/

模拟

查找您喜欢的用于设置mock的语法。. net领域有这么多。

  • 犀牛模拟
  • Moq
  • NMock
  • TypeMock(如果你想模拟具体的类型,可以使用,但不是免费的)
https://stackoverflow.com/questions/37359/what-c-sharp-mocking-framework-to-use

VS插件

再说一遍,只要你觉得舒服就行

  • TestDriven。净
  • ReSharper -我喜欢这个(与PartCover一起使用)
  • VS(测试窗口)
代码覆盖率

您没有提到这一点,但是您必须能够证明编写的代码。

  • PartCover
  • dotCover
  • NCover
  • VS(代码覆盖率)
http://geekswithblogs.net/thomasweller/archive/2010/07/16/dotcover--a-new-kid-on-the-development-block.aspx

编辑

测试Web服务

  • SoapUi

数据库测试

  • Sqlite -如果你使用的是一个表单(例如NHibernate),因为sql可以稍微改变你的sql供应商
  • NDbUnit -如果您正在使用SP, ORM或手动曲柄SQL

希望能有所帮助

因为所有的单元测试框架(至少是我所知道的那些)都基于非常相似的原则,我认为使用哪一个主要是一个品味问题。下面的表格比较了。net世界中各种常用框架的使用细节。

如果你想采用更多的BDD风格,我建议你看看SpecFlow或Machine。规格(MSpec)。尽管两者都需要一个基于xunit的单元测试框架。

作为一个测试运行者,我自己使用testdrive.net,但这也是一个品味问题。如果您正在使用ReSharper或DevExpress CodeRush(您使用这样的工具,对吧?),您可以分别使用它们的测试运行程序。(尽管我个人不喜欢DevExpress的测试运行器)

mock框架也是如此。

http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks

这里有一个mock框架比较,可以帮助您选择另一个框架:

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