如何测试采用string [] []类型参数的方法? 我尝试使用 InlineData 属性,但它只适用于字符串[]
publishing {
publications {
myPublicationName(MavenPublication) {
artifact task
}
}
}
但不是
[InlineData(new string[]{ "one", "two", "three"})]
这样做的正确方法是什么?
答案 0 :(得分:0)
锯齿状数组作为参数只能通过使用'params'关键字来工作。锯齿状的数组必须是测试方法的最后一个参数。 看看我的例子:
[Theory]
[InlineData(2, 3,
new[] { "val1", "val2", "val3" },
new[] { "val4", "val5", "val6" }
)]
[InlineData(3, 2,
new[] { "val1", "val2" },
new[] { "val3", "val4" },
new[] { "val4", "val5" }
)]
public void MyTestMethod(int exptectedOuterCount, int expectedInnerCount, params string[][] myArray)
{
Assert.Equal(exptectedOuterCount, myArray.Length);
foreach (var innerArray in myArray)
{
Assert.Equal(expectedInnerCount, innerArray.Length);
}
}
没有params-keyword的编译器不接受锯齿状的数组。