当我尝试运行 xUnit.net 测试时,出现以下错误:
[xUnit.net 00:00:00.63] xunit.UnitTest1.TestTheAnswer [FAIL]
Failed xunit.UnitTest1.TestTheAnswer [1 ms]
Error Message:
System.NotSupportedException : Specified method is not supported.
Run Code Online (Sandbox Code Playgroud)
什么可能导致此错误?
长话短说:public
因此,此错误的另一个原因是属性/字段/方法必须是public,这可能并不明显。
弹出帮助仅提到该成员必须是static并且返回值必须与IEnumerable<object[]>. 它没有提及访问修饰符。正如问题中所述,运行时的错误消息在这方面也没有帮助。
(我使用的是xunit2.4.1 版本,并尝试使用一个private属性,但失败了。通过创建 property 解决了public。)
就我而言,我在MemberData属性参数中出现了拼写错误。这是一个例子:
public static object[][] MyTestIntegers =>
new[] { 0, 1, 42, 9999999 }
.Select(i => new object[] { i })
.ToArray();
[Theory]
[MemberData("MyTestIntgers")]
public void TestTheAnswer(int i) =>
Assert.NotEqual(42, i);
Run Code Online (Sandbox Code Playgroud)
[MemberData("MyTestIntgers")]应该[MemberData("MyTestIntegers")]
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |