推荐的单元测试工具来测试 Web 服务、api 调用和 sql 调用 [关闭]
Posted
技术标签:
【中文标题】推荐的单元测试工具来测试 Web 服务、api 调用和 sql 调用 [关闭]【英文标题】:Recommended unit testing tool to test web services, api calls and sql calls [closed] 【发布时间】:2011-12-30 14:35:03 【问题描述】:我们正在构建一个新产品,并且处于第 0 阶段。我的任务是决定应该使用哪种单元测试工具。我过去曾使用过 Rhino mocks、NuNit 和 testdriven.net,我都喜欢它们。
我想知道它们的优缺点,这可以帮助我决定选择哪一个。
【问题讨论】:
请更具体地说明您在项目中的实际需求。 我会建议你尽可能地公开你的应用程序,然后只有一个人可以建议你一个合适的测试工具 【参考方案1】:http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
【讨论】:
【参考方案2】:由于所有单元测试框架(至少我知道的那些)都基于非常相似的原则,我认为使用哪一个主要是个人喜好问题。 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 的测试运行器。)
模拟框架也是如此。使用你觉得舒服的。
【讨论】:
【参考方案3】:这里有一个模拟框架比较,可能会帮助您选择另一个:
https://***.com/questions/37359/what-c-sharp-mocking-framework-to-use
【讨论】:
【参考方案4】:您提到了 Rhino Mocks、NUnit 和 TestDriven。我不会将这些相互比较。但是,您可以将它们中的每一个与它的对应物进行比较。
这是一个开始! - 我试图包含比较链接
单元测试框架
NUnit MsTest MBUnit xUnitNUnit vs. MbUnit vs. MSTest vs. xUnit.net
我更喜欢 NUnit,它似乎是最常用的一种,而且非常易于使用。但我不会介意其他人。
测试风格
我想这对我的测试选择影响最大。 可以使用 AAA(安排动作断言)或 BDD(行为驱动开发)来完成单元测试。
我发现 BDD 对领域驱动设计非常有帮助,因为它可以测试用户故事并将领域作为一个主题进行测试。
对于 AAA,您可以只使用单元框架。
BDD 框架
SpecFlow StoryQ Simple.Testing MSpecTdd 与 Bdd(方法比较) http://lostechies.com/seanchambers/2008/12/07/starting-with-bdd-vs-starting-with-tdd/
模拟
寻找您喜欢的用于设置模拟的语法。 .NET 领域有很多。
犀牛模拟 起订量 NMock TypeMock(如果您想模拟具体类型,请使用,但不是免费的)https://***.com/questions/37359/what-c-sharp-mocking-framework-to-use
VS 插件
再一次,无论什么让你感觉更好
TestDriven.NET ReSharper - 我喜欢这个(与 PartCover 一起使用) VS(测试窗口)代码覆盖率
您没有提到这一点,但是您必须能够证明编写的代码是正确的。
PartCover dotCover NCover VS(代码覆盖率)http://geekswithblogs.net/thomasweller/archive/2010/07/16/dotcover---a-new-kid-on-the-development-block.aspx
编辑
测试网络服务
SoapUi数据库测试
Sqlite - 如果您使用的是 orm(例如 NHibernate),因为 sql 可能会与您的 sql 供应商略有不同 NDbUnit - 如果您使用的是 SP、ORM 或手动 SQL希望对你有帮助
【讨论】:
以上是关于推荐的单元测试工具来测试 Web 服务、api 调用和 sql 调用 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Spring 在单元测试中模拟远程 REST API?
我们可以使用空手道框架自动执行一系列API调用以进行功能测试吗?