如何在Xunit测试类中使用TestFixture等构造函数参数以及Nunit中的参数?

时间:2019-11-28 20:45:31

标签: c# xunit

在Nunit中,我可以执行以下操作:

[TestFixture("param1")]
[TestFixture("param2")]
public class MyTestFixture
{
    public MyTestFixture(string param) { /* more code */ }
    /* more code */
}

在那之后,类MyTestFixture中的所有测试和测试用例将使用TestFixture属性中的参数一个接一个地运行两次。 Xunit不使用属性TestFixture,那么如何在不InlineData的每个测试中指定这两个参数的情况下执行类似的操作?如果这样做,它将使测试代码中的属性数量翻倍。我可以用参数编写构造函数,但没有找到在那儿传递数据的方法。我该怎么办?

1 个答案:

答案 0 :(得分:2)

好像XUnit开发人员已经解决了这个问题,并提到他们将在2015年不再增加对此的支持:

https://github.com/xunit/xunit/issues/352

GitHub线程中的一些用户发布了他们的替代解决方案,以解决缺乏对参数化TestFixtures的支持的问题,这可能有助于解决您的问题。