0

我正在尝试通过运行一些单元测试来测试 NUnit。然而,我注意到一件事。在 NUnit 版本 2.6.2(最新版本)中,当我导入测试 dll 文件时,测试在适当的地方通过和失败,它们给了我正确的警告、消息和指示符。

然而,在 NUnit 版本 2.4 RC1 中,相同的单元测试被忽略了。错误消息显示:“TestClass 没有任何测试”,但它确实包含测试。

为什么是这样?我正在尝试验证旧版本的软件,我需要在旧版本上运行单元测试。

我用这个例子来运行测试: http: //www.codeproject.com/Articles/178635/Unit-Testing-Using-NUnit

4

1 回答 1

6

如果您从引用的 url 复制了代码段,则必须具有以下内容:

[TestFixture]
public class TestClass
{
    [TestCase]
    public void AddTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Add(20, 10);
        Assert.AreEqual(30, result);
    }

    [TestCase]
    public void SubtractTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Subtract(20, 10);
        Assert.AreEqual(10, result);
    }
}

但是,如果您查看 NUnit 版本 2.4 的文档(此处),您可以看到指示测试的 Property 方法不是[TestCase]。改为使用[Test]

[TestFixture]
public class TestClass
{
    [Test]
    public void AddTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Add(20, 10);
        Assert.AreEqual(30, result);
    }

    [Test]
    public void SubtractTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Subtract(20, 10);
        Assert.AreEqual(10, result);
    }
}
于 2013-07-25T16:21:45.370 回答