Visual Studio: 当 运行 从测试资源管理器测试时默认排除项目

Visual Studio: Exclude Project by default when running tests from test explorer

我已经在我的解决方案中添加了一个集成测试项目,我不想在使用测试资源管理器时默认 运行 它们。

我遇到的隔离这些测试的唯一解决方案是手动对它们进行分类,并选择不 运行 测试资源管理器中具有特定特征的测试。理想情况下,我可以排除它们,这样我项目中的人就不必明确地做出这个选择。

谢谢!

NUnit 中有一个特殊属性来标记您的测试不应 运行 自动。

[Explicit]

The Explicit attribute causes a test or test fixture to be skipped unless it is explicitly selected for running.

https://github.com/nunit/docs/wiki/Explicit-Attribute

您只需将其放在 class 或方法上:

[TestFixture]
[Explicit]
public class IntegrationTests
{
    // ...
}

[TestFixture]
public class UnitTests
{
    [Test]
    public void ShouldNotFail()
    {
         // This will run
    }

    [Test]
    [Explicit]
    public void ManualTest()
    {
        // This will be ignored
    }
}

这是结果: