所以,我接着写下了" test"测试:-) for Nunit 2.6(使用2.6.0.12035版本)
[TestCase(1, 2, Result = 3)]
[TestCase(3, 4, Result = 7)]
[TestCase(5, 6, Result = 11)]
public int Add_Test(int a, int b)
{
return a - b;
}
接下来,我使用Resharper 6.1.37.86运行它。 Resharper显示所有三个测试都通过了。 比我尝试使用nunit GUI运行测试 - nunit.exe。测试会出现奇怪的错误消息:"方法具有非空返回值"。 实际上,所有测试都应该以意外的结果值失败。 这个功能是不正确的还是我做的。错误? 顺便说一句,接下来我尝试不设置Result属性,它对两个跑步者都很完美:
[TestCase(1, 2, 3)]
[TestCase(3, 4, 7)]
[TestCase(5, 6, 11)]
public void Add_Test1(int a, int b, int result)
{
Assert.AreEqual(result, a - b);
}
答案 0 :(得分:1)
无论是使用NUnit.exe还是NUnit-console.exe,我都会遇到与NUnit 2.6.0.12035相同的问题。
您的示例使用NUnit.exe 2.5.10正常工作。 (我的猜测是Resharper正在使用NUnit 2.5.10,所以测试通过了。)
I reported the issue加入NUnit讨论组。
编辑:我的测试程序集引用了 NUnit.framework.dll 的2.5.10版本。如果我切换到使用2.6.0.12035版本,则测试将按预期使用 NUnit.exe 和 NUnit-console.exe 。我敢打赌你的问题是一样的。
编辑2:它已作为错误提交并fixed in the next release。如果您的单元测试库链接到旧版本的 Nunit.framework.dll ,2.6中的测试运行器将不再导致错误。