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