目前我正在使用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或任何地方找到此信息。