MSTest中是否有类似于NUnit的Explicit属性?

32

是否有MSTest等效于NUnit的Explicit属性?

3个回答

31

不,你能使用的最接近的方法是使用 [Ignore] 属性。

然而,MSTest 提供了其他方式来使用测试列表(Test Lists)禁用或启用测试。不管你是否喜欢它们,测试列表是在 MSTest 中选择测试的推荐方式。


12
这就是为什么MSTest很垃圾。最基本的功能都没有,唉。 - Spets

3

如果你只想在使用调试器时进行断言测试(我假设是手动运行),那么你可能会觉得这很有用:

if (!System.Diagnostics.Debugger.IsAttached) return;

在标有[TestMethod]的方法开始处添加上述行。这样测试将始终运行,但在没有附加调试器时,不会进行任何断言。
因此,在手动运行时,请在调试模式下运行。

0

我正在使用这个帮助程序:

public static class TestUtilities
{
    public static void CheckDeveloper()
    {
        var _ =
            Environment.GetEnvironmentVariable("DEVELOPER") ??
            throw new AssertInconclusiveException("DEVELOPER environment variable is not found.");
    }
}

在你想要的测试开始时使用它。只有在设置了DEVELOPER环境变量时,测试才会运行。在这种情况下,其余的测试将被正确执行,dotnet test命令将返回成功的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接