【发布时间】:2019-05-01 09:33:35
【问题描述】:
我将 NUnit 与 C# 和 Faker.NET 库一起使用,有什么方法可以将 Faker.NET 生成的假数据作为我的测试方法的参数传递?
编辑:
public static object[,] GetInvalidLoginCredentials()
{
object[,] FD = { { new object[] { Name.First(), Internet.Password(10, 12) }, new object[] { "TestUser", "" }, new object[] { "", "TestPassword" } } };
return FD;
}
[Test, Order(1), TestCaseSource("GetInvalidLoginCredentials")]
public void InvalidLogin(string userName, string password)
{
// Test case code
}
运行这个测试时,测试运行器只运行了 2 次:-
- 第一个带参数
("","TestPassword") - 第二个带参数
("TestUser","")
并且忽略使用来自数据源数组中的第一个对象的参数运行测试,其值是使用 Faker.Net 生成的
【问题讨论】:
-
你能详细说明你的问题吗?当然,您可以将任何对象作为参数传递。这里有什么问题?
-
如果您提出更具体的问题,并附上您想要达到的目标的代码示例,则可以让他人更轻松地通过代码示例给出更准确的答案。
-
当我尝试使用带有静态字段的 TestCaseSource 属性或返回假用户名和密码作为数据源的方法传递参数时,测试运行器会忽略使用这些假数据运行测试用例,但是如果我明确设置测试用例正常运行的数据源的值
-
请显示一些重现问题的代码。