1

是否可以构建一个 Visual Studio 测试资源管理器搜索表达式,该表达式实际上会根据属性属性的名称和值过滤 NUnit 测试?例如,类似Trait:TestSize=Large. 我似乎无法弄清楚如何让它工作,经过数小时的搜索,我不清楚我是否应该从 Visual Studio、NUnit 或 NUnit 测试适配器中寻找文档。

[TestFixture]
public class SampleTestFixture {
  [Test]
  [Property("TestSize", "Large")]
  public void Test1() { ... }
}

更多细节:

  • 目前使用 VS 2015,但我希望它在 VS 2017 和 2019 中工作
  • 使用 NUnit 3.12
  • 使用 NUnit3TestAdapter 3.8
4

1 回答 1

0

我不确定我是否理解正确,但如果你想过滤测试以根据 TestCaseName 运行你想要的,你应该使用 TestEngineAPI。欲了解更多信息 - https://github.com/nunit/docs/wiki/Test-Engine-API

ITestEngine engine = TestEngineActivator.CreateInstance();

TestPackage package = new TestPackage("my.test.assembly.dll");

ITestRunner runner = engine.GetRunner(package);

// Run all the tests in the assembly
XmlNode testResult = runner.Run(this, TestFilter.Empty);

其中 TestFilter.Empty 可以是这样的: new TestFilter($"<filter><or><name>Test1</name></or></filter>");

于 2020-05-22T13:20:22.923 回答