【发布时间】:2019-08-22 12:08:44
【问题描述】:
我正在尝试编写一个单元测试来比较两个数组。我已经将单元测试定义为:
[DataTestMethod]
[DataRow(
new[] { "COM3", "COM1", "COM2" },
new[] { "COM1", "COM2", "COM3" }
)]
...
public void TestCOMPortSorting(string[] unorderedPorts, string[] expectedOrderedPorts)
但是,我的 IDE 抛出以下错误:
属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式
我尝试使用外部变量,将数组定义为new string[],用这些数组创建一个数组,都没有运气。
如何使用这两个数组作为单元测试的参数?
【问题讨论】:
-
您需要向表中添加行 dt.Rows.Add(new[] { "COM3", "COM1", "COM2" });
-
我现在面临这个问题,如果我添加任何第三个参数,我可以看到一切正常。一个阵列也可以正常工作。我认为这是因为 DataRow 的 'param's 重载无法破译两个数组,但我不知道如何告诉编译器这个......
标签: c# unit-testing mstest