NUnit:TestClass没有任何测试

时间:2013-07-25 16:13:30

标签: c# nunit

我正在尝试通过运行一些单元测试来测试NUnit。但是,我注意到了一件事。在NUnit版本2.6.2(最新版本)中,当我导入测试dll文件时,测试在适当的位置传递并失败,他们给了我正确的警告,消息和指示器。

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

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

我使用此示例运行测试:http://www.codeproject.com/Articles/178635/Unit-Testing-Using-NUnit

1 个答案:

答案 0 :(得分:6)

如果您从引用的网址中复制了代码段代码,则必须包含以下内容:

[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(here)的文档,则可以看到指示测试的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);
    }
}