gpt4 book ai didi

nunit - 有什么是我在 NUnit 中可以做但在 MSTest 中不能做的吗?

转载 作者:行者123 更新时间:2023-12-03 07:44:02 27 4
gpt4 key购买 nike

这个问题已经在许多不同的论坛上以各种形式提出,但是,恕我直言,我一直无法找到一个真正明确回答这个问题的地方,所以我将重新构建它并再次询问它.

我在一家微软商店工作。我们使用 TFS,并且所有开发人员都订阅了 MSDN,包括 VS 的 Team Suite 版本。这样我们就可以访问 MSTest。

我已经阅读了各种 NUnit 与 MSTest 的比较,开发人员社区似乎绝大多数都选择了 NUnit。但给出的理由似乎从来都不是压倒性的或令人信服的,至少对于我们的情况来说是这样。 (NUnit 更新更频繁、NUnit 速度更快、NUnit 不需要 TFS 等)

如果我选择的话,我可以使用 NUnit,但是在没有正式支持的情况下使用开源软件必须受到保护。我需要一个相当令人信服的理由才能这样做。

为了证明使用 NUnit 而不是 MSTest 的合理性,我基本上必须回答的是:有什么是我在 NUnit 中可以做但在 MSTest 中无法做的事情吗?

最佳答案

  • NUnit 包含一个 [TestCase] 属性,允许实现参数化测试。这在 MSTest 中并不是开箱即用的 - 但可以通过可扩展性来完成。
  • MsTest 的 ExpectedException 属性有一个错误,即预期消息永远不会真正断言,即使它是错误的 - 测试将通过。
  • NUnit 附带一个 Assert.Throws API,允许在特定代码行而不是整个方法上测试异常。 MSTest 也有类似的功能(由为 NUnit 实现此功能的同一个人实现),但未随 MSTest 一起提供。
  • NUnit 包含开箱即用的断言 API 的流畅版本。 MSTest 有第三方扩展可以执行此操作,但没有随 MSTest 一起提供。
  • NUnit 允许抽象类作为测试装置(因此您可以继承测试装置)。 MsTest 允许这样做,但将抽象类限制为单个程序集。
  • NUnit 允许非公共(public)类作为测试装置(从最新版本开始)
  • NUnit 专为单元测试的理念而创建。 MSTest 是为测试而创建的 - 也是一些单元测试。
  • NUnit 包含 PNunit(与 NUnit 运行并行测试)。 MSTest 在 Visual Studio 2010 中添加了此功能,可通过 XML 进行配置

关于nunit - 有什么是我在 NUnit 中可以做但在 MSTest 中不能做的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487773/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com