推荐的单元测试工具,用于测试web服务、api调用和sql调用
本文关键字:调用 服务 api web sql 测试 单元 测试工具 用于 | 更新日期: 2023-09-27 18:15:06
我们正在构建一个新产品,我们处于阶段0。我的任务是决定应该使用哪个单元测试工具。我曾经使用过Rhino mock、NuNit和testdriven.net,我喜欢它们。
我想知道它们的优缺点,这样可以帮助我决定选择哪一个。
您提到了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(如果你想模拟具体的类型,可以使用,但不是免费的)
VS插件
再说一遍,只要你觉得舒服就行
- TestDriven。净
- ReSharper -我喜欢这个(与PartCover一起使用)
- VS(测试窗口)
您没有提到这一点,但是您必须能够证明编写的代码。
- PartCover
- dotCover
- NCover
- VS(代码覆盖率)
测试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