推荐的单元测试工具来测试 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 xUnit

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

我更喜欢 NUnit,它似乎是最常用的一种,而且非常易于使用。但我不会介意其他人。

测试风格

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

我发现 BDD 对领域驱动设计非常有帮助,因为它可以测试用户故事并将领域作为一个主题进行测试。

对于 AAA,您可以只使用单元框架。

BDD 框架

SpecFlow StoryQ Simple.Testing MSpec

Tdd 与 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?

Self Host web api并从单元测试项目访问它

我们可以使用空手道框架自动执行一系列API调用以进行功能测试吗?

如何对使用 Express + Mongoose 构建的 NodeJs REST API 服务器进行单元测试?

如何对 Retrofit api 调用进行单元测试?

单元测试 ASP.NET Web API