當兩個字串陣列相繼出現時,我的單元測驗中的以下資料行會拋出一條錯誤訊息,但當我在其間放置另一種資料型別時不會。
[TestClass]
public class UnitTest
{
[TestMethod]
// invalid
[DataRow(new string[] { }, new string[] { })]
// valid
[DataRow(new string[] { }, 8, new string[] { })]
public void TestMethod(string[] input, string[] output)
{
var solution = new Program();
CollectionAssert.AreEqual(output, solution.Method(input));
}
}
我收到以下錯誤(第 6 行),屬性引數必須是屬性引數型別的常量運算式、typeof 運算式或陣列創建運算式。我在建構式中定義了陣列,那么它怎么不是恒定的?先感謝您。
uj5u.com熱心網友回復:
DataRowattr 中的第二個引數是params object[] moreData.
您正在傳遞與此new string[] { }不同的原因,object[]這就是您收到錯誤的原因。
嘗試使用這個:
[DataRow(new string[] { }, new object[] { new string[] { } })]
public void TestMethod(string[] input, string[] output) {}
它會正確地將物件陣列映射到字串。
但是您可能會考慮使用該DynamicData屬性來傳遞復雜的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/430860.html
上一篇:D3.js彎曲節點標簽
下一篇:使用自定義物件引數發布未獲取資料
