2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
測(cè)試用例源的定義模式略有不同。假設(shè)您使用 nunit 3 它應(yīng)該是:
[TestCaseSource(typeof(MyTestData), nameof(GetDataString))]
public void TestMethod2(List<Config> configs)
{
? ?...
}
public class MyTestData
{
? ? public static IEnumerable GetDataString()
? ? {
? ? ? ? var datas = new List<Config>();? ? ? ? ? ? ?
? ? ? ? datas.Add(new Config("Nick", "Coldson"));
? ? ? ? return new TestCaseData(datas);
? ? }
} ?

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的GetDataString退貨a List<Config>.
這意味著,帶有 a 的測(cè)試方法[TestCaseSource("GetDataString")]將執(zhí)行與列表中的項(xiàng)目一樣多的次數(shù),并且您的方法必須與項(xiàng)目類(lèi)型匹配。
//// This one throws System.ArgumentException
//[TestCaseSource("GetDataString")]
//public void TestMethod(List<Config> configs)
//{
// Console.WriteLine("Config " + configs);
//}
// This one is ok
[TestCaseSource("GetDataString")]
public void TestMethod(Config config)
{
Console.WriteLine(config);
}
如果您需要List<Config>在測(cè)試中獲取實(shí)例,那么您的源必須返回一些包含列表項(xiàng)的集合。
- 2 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報(bào)