是否可以在测试方法上使用反射和[Fact]
属性以外的东西来将测试暴露给xUnit测试运行器?例如,我想这样做:
[FactSource] // just making this up
public IEnumerable<ITest> GetUnitTests()
{
yield return new TestCase("test case 1", () => FooAssertion());
yield return new TestCase("test case 2", () => BarAssertion());
}
我已经多次想这样做,以减少函数的样板文件,以包装每一个case。通常这是有意义的,但当我测试100个API端点时,这是100行代码与400行代码的文件之间的区别。此外,我有一些情况,我想从。json或。xml文件加载测试,所以如果有另一种方式加载测试,而不仅仅是[Fact]
或[Theory]
属性,那将是伟大的。
注意:[Theory]
对于这样的一些测试工作得很好,但是它不适用于从文件加载用例,也不适用于上面演示的使用lambda表达式的用例。
谢谢!
查看Exude。