是否有MSTest等效于NUnit的Explicit属性?
是否有MSTest等效于NUnit的Explicit属性?
不,你能使用的最接近的方法是使用 [Ignore] 属性。
然而,MSTest 提供了其他方式来使用测试列表(Test Lists)禁用或启用测试。不管你是否喜欢它们,测试列表是在 MSTest 中选择测试的推荐方式。
如果你只想在使用调试器时进行断言测试(我假设是手动运行),那么你可能会觉得这很有用:
if (!System.Diagnostics.Debugger.IsAttached) return;
[TestMethod]
的方法开始处添加上述行。这样测试将始终运行,但在没有附加调试器时,不会进行任何断言。我正在使用这个帮助程序:
public static class TestUtilities
{
public static void CheckDeveloper()
{
var _ =
Environment.GetEnvironmentVariable("DEVELOPER") ??
throw new AssertInconclusiveException("DEVELOPER environment variable is not found.");
}
}
在你想要的测试开始时使用它。只有在设置了DEVELOPER
环境变量时,测试才会运行。在这种情况下,其余的测试将被正确执行,dotnet test
命令将返回成功的结果。