为什么我下面的String数组给出了一个错误,不是它们都是字符串??? “属性参数必须是属性参数类型”
的常量表达式,typeof表达式或数组创建表达式[Test]
[TestCase(new string[]{"01","02","03","04","05","06","07","08","09","10"},TestName="Checking10WOs")]
public void Test(String[] recordNumber)
{
//something..
}
答案 0 :(得分:7)
这不能回答问题的标题,但它解决了您的具体问题。
您可能希望使用TestCaseSource
,它允许您将多个测试用例场景传递到相同的测试机制中,并且您可以根据需要使用复杂的结构。
[Test]
[TestCaseSource("TestCaseSourceData")]
public void Test(String[] recordNumber, string testName)
{
//something..
}
public IEnumerable<TestCaseData> TestCaseSourceData()
{
yield return new TestCaseData(new string[] {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10"}, "Checking10WOs");
}
它会发现第一个参数是recordNumber
,第二个参数是testName
见下面的截图。
希望这可以节省你一些时间。
答案 1 :(得分:2)
字符串都是常量,但它们所在的数组不是。试试这个:
[Test]
[TestCase("01","02","03","04","05","06","07","08","09","10", TestName="Checking10WOs")]
public void Test(String recordNumber)
{
//something..
}
这是有效的,因为TestCaseAttribute
将其案例视为params
列表。