1
我正在努力NUnit测试,需要能够接受一个列表作为参数,我想知道如何通过该列表作为参数?通过一个列表<SomeObject>参数NUnit测试
我可以在每个用户单独传递给单元测试像这样:
[Test, TestCaseSource("GetUsers")]
public void MyExample_Test(User user)
{
Asset.Pass();
}
private static List<User>GetUsers()
{
List<User>users=new List<User>();
users.Add(new User());
users.Add(new User());
users.Add(new User());
users.Add(new User());
return users;
}
但我需要在List<User>
作为一个整体通过。
就参数化测试而言,如果我想通过TestCase()属性传递一个集合,那我该怎么做?现在我可以传递像Enum,Int,String等基本类型,现在看起来像这样没有动态生成的集合:[TestCase(PersonType.Soldier,“John”,40,UnitTestNumber.Three)]但我想我想它看起来像这样:[TestCase(PersonType.Soldier,“John”,40,SpecificAttributeCollectionForThisTest,UnitTestNumber.Three)] SpecificAttributeCollectionForThisTest - 将是仅用于此测试的值列表。 – CloudDev
您无法传递复杂对象或集合,因为属性参数必须是const –