我正在尝试通过运行一些单元测试来测试NUnit。但是,我注意到了一件事。在NUnit版本2.6.2(最新版本)中,当我导入测试dll文件时,测试在适当的位置传递并失败,他们给了我正确的警告,消息和指示器。
但是,在NUnit版本2.4 RC1中,忽略相同的单元测试。错误消息显示:“TestClass没有任何测试”但它确实包含测试。
这是为什么?我试图验证旧版本的软件,我需要在旧版本上运行单元测试。
我使用此示例运行测试:http://www.codeproject.com/Articles/178635/Unit-Testing-Using-NUnit
答案 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);
}
}