7

使用 /include 或 /exclude 语句时,我正在阅读有关类别表达式的此链接。我希望能够仅包含运行测试以用完两个可用测试或运行所有测试但使用 /include:A+B 或 /exclude:A。但是,由于某种原因,它显示了错误的要运行和/或不运行的测试数量。这是为什么?

谁能给我提供一个关于如何对表达式进行分类(通过操作源代码)并添加如何在控制台中运行命令的示例?

基本上我所做的是:

using System;
using NUnit;
using NUnit_Application;
using NUnit.Framework;

namespace NUnit_Application.Test
{
[TestFixture]
[Category("MathS")] 
public class TestClass
{
    [TestCase]
    [Category("MathA")]
    public void AddTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Add(20, 10);
        Assert.AreEqual(40, result);
    }

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

我的命令行语句是 nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"数学A"

问题是,控制台熟悉命令的含义,它说它包括数学 A 类别。但是,它显示零测试已运行且零测试尚未运行。

我正在运行控制台运行器 NUnit 2.6.2。

4

2 回答 2

2

这是我最初使用的命令:

nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"MathA"

我注意到如果我只调用 TestClass 而不是单个测试用例,它可以工作:

nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"MathA"
于 2013-08-14T15:14:56.717 回答
0

我认为这是因为您拥有具有以下属性的整个班级:

[Category("MathS")]

所以它跳过它。

于 2013-08-13T14:41:40.567 回答