gpt4 book ai didi

nunit - 同时使用 MSTest 和 NUnit?

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

阅读有关 MSTest 和 NUnit 的内容时,我无法真正决定在我的项目中使用什么。我们使用 TFS 2008 和 VS2010。

我喜欢 MSTest,因为它集成到 VS2010、持续集成和代码覆盖率报告中。
我喜欢 NUnit,因为它允许以漂亮、可读的方式制定复杂的断言语句。

偶然发现 http://alsagile.com/archive/2010/03/09/stop-the-war-between-nunit-and-mstest-make-them.aspx我问社区:是否可以同时使用两者?

我也考虑坚持使用 MSTest 并使用 Fluent Assertions给我一种更灵活的方式来制定断言语句。毕竟这不是最好的选择吗?

最佳答案

我个人不喜欢像 article 中提到的那样混合两个框架的想法。你指的是。

使您的单元测试在两个测试框架下运行的可能条件是您不想或无法在持续集成服务器上安装 Visual Studio。

只是为了澄清,MSTest不是 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 中定义的 Visual Studio 单元测试框架集会。

为了能够让您的单元测试在两个框架下运行,您需要定义一个构建常量(此处 NUNIT)并在 preprocessor directives 的帮助下和 namespace aliases你最终会得到这样的片段:

#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Category = Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute;
#else
using NUnit.Framework;
using TestInitialize = NUnit.Framework.SetUpAttribute;
using TestContext = System.Object;
using TestProperty = NUnit.Framework.PropertyAttribute;
using TestClass = NUnit.Framework.TestFixtureAttribute;
using TestMethod = NUnit.Framework.TestAttribute;
using TestCleanup = NUnit.Framework.TearDownAttribute;
#endif

我相信我首先通过这个 MSDN Magazine article 遇到了这个想法。 .另一篇涵盖该主题的有值(value)的博客文章是:
  • Using nUnit AND Mstest (Visual Studio Unit Testing) together in perfect harmony

  • 最后一个问题: Fluent Assertions项目似乎是一个不错的库。如果您喜欢它的流畅风格,我看不出有什么真正的理由不应该使用它。

    关于nunit - 同时使用 MSTest 和 NUnit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053557/

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