如何在Nunit测试中从两个不同的来源获取数据?

时间:2015-10-13 00:31:48

标签: c# excel unit-testing attributes nunit

目前我正在使用Nunit的属性TestCaseSource,如下所示,它从Excel工作表读取数据,解析它并将产品返回到IEnumerable到测试:

[Test]
[TestCaseSource(typeof(Class_Name), nameof(Method_providing_data))]
public void Test_Name(IEnumerable_type_from_method)
   {....
 ...
}

我想从另一个Excel中读取更多数据,这些数据取决于此测试。我试过了:

[Test]
[TestCaseSource(typeof(Class_Name), nameof(Method_providing_data_1))]
[TestCaseSource(typeof(Class_Name), nameof(Method_providing_data_2))]

public void Test_Name(IEnumerable_type_1_from_method_1, IEnumerable_type_2_from_method_2)
    {....
...
}

但这会引发运行时错误:提供的参数数量错误

如何在不修改/组合将数据传递给测试的方法的情况下实现这一目标,因为我没有权利更改代码的这一部分?

另外,如果有人能帮助我理解TestCaseSource属性的参数和测试方法的参数是如何相关的,我会很高兴的吗?

测试方法如何识别传递给它的参数来自TestCaseSource属性?

我无法在TestCaseSource属性documentation或任何地方找到此信息。

0 个答案:

没有答案