我正在查看新 Visual Studio 中的实时测试功能(我使用的是 NUnit)。
单元测试有一个“排除”选项,表示不应运行特定测试(也许它们是集成测试、慢速测试或其他)。
这些信息存储在哪里?我在 csproj 或其他任何地方都没有看到任何迹象表明测试不应包含在实时测试中。难道不应该在某处有一些信息文件可以检查源代码控制,以便我的团队的其他成员不必手动指定哪些测试不应由实时测试运行?
最佳答案
包含/排除是用户级别的功能。当您想为特定的编辑 session 运行一组特定的测试或保留您自己的个人偏好时,这非常有用。为了防止测试运行并保留该信息,您可以执行以下操作:
[ExcludeFromCodeCoverage]
public class SkipLiveFactAttribute : FactAttribute
{
private static bool s_lutRuntimeLoaded = AppDomain.CurrentDomain.GetAssemblies().Any(a => a.GetName().Name == "Microsoft.CodeAnalysis.LiveUnitTesting.Runtime");
public override string Skip => s_lutRuntimeLoaded ? "Test excluded from Live Unit Testing" : "";
}
public class Class1
{
[SkipLiveFact]
public void F()
{
Assert.True(true);
}
}
关于visual-studio - Visual Studio 2017 实时测试排除项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657226/