在 Nunit 中我可以做这样的事情:
[TestFixture("param1")]
[TestFixture("param2")]
public class MyTestFixture
{
public MyTestFixture(string param) { /* more code */ }
/* more code */
}
Run Code Online (Sandbox Code Playgroud)
之后,类内的所有测试和测试用例MyTestFixture将运行两次,TestFixture一一使用属性中的参数。Xunit 不使用属性TestFixture,那么如果不在每个测试中指定这两个参数,我该如何做类似的事情呢InlineData?如果我这样做,我的测试代码中的属性数量就会增加一倍。我可以编写带参数的构造函数,但我没有找到在那里传递数据的方法。我怎么做?
看起来 XUnit 开发人员已经关闭了这个问题,并提到他们不会在 2015 年添加对此的支持:
https://github.com/xunit/xunit/issues/352
GitHub 线程中的一些用户发布了他们的替代解决方案,以解决缺乏对参数化 TestFixtures 支持的问题,这可能有助于解决您的问题。