Nit*_*pan 3 c# selenium nunit arguments testcasesource
使用c#在selenium中使用Testcasesource开发了测试用例.在NUnit中运行测试用例后,它将错误显示为"提供的参数数量错误".这是我的测试用例代码
[TestFixture]
class testcases
{
static String[] exceldata= readdata("Inputdata.xls", "DATA", "TestCase1");
[SetUp]
public void Setup()
{
//setupcode here
}
[Test, TestCaseSource("exceldata")]
public void Sample (String level,String Username,String password,String FirstName)
{
//testcase code here
}
[TearDown]
public void TearDown()
{
tstlogic.driverquit();
}
Run Code Online (Sandbox Code Playgroud)
检索4个值,我可以看到NUnit中的值.但它将错误显示为"提供的参数数量错误".任何人都可以帮忙吗?
标记为TestCaseSource的方法应该返回一堆"TestCases" - 其中每个TestCase是测试方法所需的一组输入.在您的情况下,每个测试输入集必须有4个字符串参数.
所以TestCaseSource方法应该返回一个包含内部4个成员数组的object [].请参阅以下示例
[Test, TestCaseSource("DivideCases")]
public void DivideTest(int n, int d, int q)
{
Assert.AreEqual( q, n / d );
}
static object[] DivideCases =
{
new object[] { 12, 3, 4 },
new object[] { 12, 2, 6 },
new object[] { 12, 4, 3 }
};
Run Code Online (Sandbox Code Playgroud)
在您的情况下,我认为您的testCaseSource方法返回4个字符串.NUnit将其读作4个输入参数集...每个包含一个字符串.尝试使用4个参数调用参数化测试方法,其中包含一个字符串=>您看到的错误.
例如,您可以通过设置DivideCases来重现您的错误
private static int[] DivideCases = new int[] { 12, 3, 4 }; // WRONG. Will blow up
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |