visual-studio - Visual Studio 2017 实时测试排除项

标签 visual-studio unit-testing

我正在查看新 Visual Studio 中的实时测试功能(我使用的是 NUnit)。

单元测试有一个“排除”选项,表示不应运行特定测试(也许它们是集成测试、慢速测试或其他)。

enter image description here

这些信息存储在哪里?我在 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/

相关文章:

javascript - 使用 $parsers 的 Jasmine 单元测试 Angular Directive(指令)

visual-studio - 有没有办法将 Visual Studio 或 MATLAB 中的程序执行顺序设为 "map"?

使用现有 C 源代码时出现 C++ 错误 C2440

c++ - Visual Studio 201 0's strange "警告 LNK4042"

ruby-on-rails - 用于对为 Rails 或 Sinatra 编写的 RESTful API 进行单元测试的选项有哪些?

c# - 停止模拟 IFormFile 创建 FileCopy

c - 我应该选择哪种 visual studio 项目类型最适合标准 c 库

c++ - 根据 Visual Studio 中的调试/发布配置自动#defines

ruby - 如何使用 Ruby 的 Test::Unit 只测试一个方法?

java - 模拟 Locale.forLanguageTag