我想使用不同的自定义环境变量多次运行测试用例。
一个例子:
[Theory]
[InlineData(1)]
[InlineData(2)]
[MyEnvironmentData("foo", "bar", "baz")]
public void MyEnvironmentTest(int arg1)
{
var foo=MyEnvironment.Get("foo");
Assert.Contains(foo, new []{"bar", "baz"});
}
测试用例应该运行四次:
还可以有许多MyEnvironmentData属性。在这种情况下,应测试所有排列。
我以前在xUnit.Net v1中使用自定义TestClassCommand
完成了此操作,我已在EnumerateTestCommands
方法中实现了排列逻辑,并自定义了TestCommand
在每次测试运行之前设置环境变量并在之后清理。所有其他方法都被委托给xUnit自己的TestClassCommands和TestCommands。
在xUnit v2中实现类似设置的最佳方法是什么?