c#属性参数必须是常量表达式

前端之家收集整理的这篇文章主要介绍了c#属性参数必须是常量表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我下面的String数组给出了一个错误,不是它们都是字符串???
属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式”
[Test]
[TestCase(new string[]{"01","02","03","04","05","06","07","08","09","10"},TestName="Checking10WOs")]
public void Test(String[] recordNumber)
{
     //something..
}

解决方法

这不能回答问题的标题,但它解决了您的具体问题.

您可能希望使用TestCaseSource,它允许您将多个测试用例场景传递到相同的测试机制,并且您可以根据需要使用复杂的结构.

[Test]
    [TestCaseSource("TestCaseSourceData")]
    public void Test(String[] recordNumber,string testName)
    {
        //something..
    }

    public IEnumerable<TestCaseData> TestCaseSourceData()
    {
        yield return new TestCaseData(new string[] {"01","Checking10WOs");
    }

它会发现第一个参数是recordNumber,第二个参数是testName

看下面的截图.

希望这能为您节省一些时间.

猜你在找的C#相关文章