【问题标题】:Recommended unit testing tool to test web services, api calls and sql calls [closed]推荐的单元测试工具来测试 Web 服务、api 调用和 sql 调用 [关闭]
【发布时间】:2011-12-30 14:35:03
【问题描述】:

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

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

【问题讨论】:

  • 请更具体地说明您在项目中的实际需求。
  • 我会建议你尽可能地公开你的应用程序,然后只有一个人可以建议你一个合适的测试工具

标签: c# unit-testing testing


【解决方案1】:
【解决方案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://stackoverflow.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 框架

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

      编辑

      测试网络服务

      数据库测试

      • Sqlite - 如果您使用的是 orm(例如 NHibernate),因为 sql 可能会与您的 sql 供应商略有不同
      • NDbUnit - 如果您使用的是 SP、ORM 或手动 SQL

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-24
        • 2013-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多