gpt4 book ai didi

c# - 是否有任何解决方案来处理 TestCaseSource 的数据类型? [Nunit 框架]

转载 作者:行者123 更新时间:2023-12-04 02:46:19 25 4
gpt4 key购买 nike

基于 https://gigi.nullneuron.net/gigilabs/data-driven-tests-with-nunit/网站。我尝试创建一个简单的测试用例,为将来读取数据做准备。但我不知道如何处理 Argument 并正确使用它

我尝试过设置为一个对象,但我认为这可能不是一个正确的解决方案

        [TestCaseSource("GetDataString")]
public void TestMethod2(object configs)
{


}

这里是源代码

namespace SAP
{
[TestFixture]
public class Scenario1
{

// This one Give System.ArgumentException
[TestCaseSource("GetDataString")]
public void TestMethod(List<Config> configs)
{
Console.WriteLine("Config " + configs);

}
// This one can handle an Exception
[TestCaseSource("GetDataString")]
public void TestMethod2(object configs)
{


}

public static List<Config> GetDataString()
{
var datas = new List<Config>();
datas.Add(new Config("Nick", "Coldson"));
return datas;
}
}

public class Config
{
public string NickName { get; set; }
public string Name { get; set; }

public Config(string nickname, string name)
{
NickName = nickname;
Name = name;
}

}

}

这是错误信息

System.ArgumentException : Object of type 'SAP.Config' cannot be converted to type 'System.Collections.Generic.List`1[SAP.Config]'.

最佳答案

测试用例源的定义模式略有不同。假设您使用 nunit 3,它应该是:

[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);
}
}

有关更多信息,请查看文档: https://github.com/nunit/docs/wiki/TestCaseData

关于c# - 是否有任何解决方案来处理 TestCaseSource 的数据类型? [Nunit 框架],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57123552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com