具有结果属性的Nunit TestCase属性是否工作不正确?

具有结果属性的Nunit TestCase属性是否工作不正确?,nunit,resharper,resharper-6.0,Nunit,Resharper,Resharper 6.0,因此,我为NUnit2.6编写了下一个“测试”测试:-)(使用2.6.0.12035版本) 接下来,我使用Resharper 6.1.37.86运行它。Resharper显示所有三个测试都通过了。 然后我尝试使用nunit GUI-nunit.exe运行测试。测试会出现奇怪的错误消息:“方法具有非无效的返回值”。 事实上,所有的测试都应该失败,结果的值会出乎意料。 此功能是否工作不正确或我使用smth。错了吗? 顺便说一句,接下来我尝试不使用set Result属性,它对两个跑步者都非常有效:

因此,我为NUnit2.6编写了下一个“测试”测试:-)(使用2.6.0.12035版本)

接下来,我使用Resharper 6.1.37.86运行它。Resharper显示所有三个测试都通过了。 然后我尝试使用nunit GUI-nunit.exe运行测试。测试会出现奇怪的错误消息:“方法具有非无效的返回值”。 事实上,所有的测试都应该失败,结果的值会出乎意料。 此功能是否工作不正确或我使用smth。错了吗? 顺便说一句,接下来我尝试不使用set 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);
    }

无论使用NUnit.exe还是NUnit-console.exe,NUnit 2.6.0.12035都会遇到同样的问题

您的示例使用NUnit.exe 2.5.10运行良好。(我猜Resharper正在使用NUnit 2.5.10,因此测试通过了。)

我参加了NUnit讨论小组

编辑:我的测试程序集引用了NUnit.framework.dll的2.5.10版本。如果我切换到使用2.6.0.12035版本,则测试在NUnit.exe和NUnit-console.exe中都能正常工作。我敢打赌你的问题也一样

编辑2:它已作为错误和错误提交。如果单元测试库链接到旧版本的Nunit.framework.dll,则2.6中的测试运行程序将不再导致错误

    [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);
    }