如何用 NUnit (C#) 替换 MSTest

Tom*_*ino 5 c# nunit mstest

如何用 NUnit (C#) 替换 MSTest?

Tom*_*ino 6

  1. 将 nuget 包 NUnit 包添加到测试项目中

    Install-Package NUnit
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除对 Microsoft.VisualStudio.QualityTools.UnitTestFramework 的引用

  3. 更改以下命名空间 using

    using Microsoft.VisualStudio.TestTools.UnitTesting; 
    
    Run Code Online (Sandbox Code Playgroud)

    using NUnit.Framework;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 搜索并替换以下内容:

    [TestClass] => [TestFixture]
    [ClassInitialize] => [TestFixtureSetUp]
    [ClassCleanup] => [TestFixtureTearDown]
    [TestInitialize] => [SetUp]
    [TestCleanup] => [TearDown]
    [TestMethod] => [Test]
    Assert.Ignore => Assert.Inconclusive
    
    Run Code Online (Sandbox Code Playgroud)
  5. 卸载项目,以 Xml 格式打开 .csproj 文件并删除如下所示的行:

    <ProjectTypeGuids>{0b19334d-acce-4bf9-9475-088436fada27};{a9df11a7-84ef-49d2-b13a-9ed7e1f913e6}</ProjectTypeGuids>
    
    Run Code Online (Sandbox Code Playgroud)
  6. 删除(或替换)私有或内部修饰符,并确保测试项目对内部成员可见。你可以参考这个链接InternalsVisibleTo

  • 这是不完整的。如果用户使用某些功能(例如通过 MSTest 测试私有成员和内部成员,他们必须删除这些测试用例。 (3认同)