【发布时间】:2020-04-20 07:38:48
【问题描述】:
是否可以为理论案例指定返回值?就像我有测试方法一样:
[Theory]
[MemberData(nameof(TestCases))]
public async Task<bool> Test(int i, double d, string str)
{
return DoStuffAsync(i, d, str);
}
方法
public static IEnumerable<object[]> TestCases()
{
yield return new object[] { 1, Math.PI, "case1", true };
yield return new object[] { 2, Math.E, "case2", false };
}
生成测试用例。
但是如果我尝试运行这些测试用例,我会得到错误
System.InvalidOperationException : The test method expected 3 parameter values, but 4 parameter values were provided.
【问题讨论】:
-
您只需添加第四个参数,例如
bool expected value,并将输出与 Assert 中此参数的值进行比较。
标签: c# .net unit-testing xunit