Unit testing nunit到testfixture和测试属性的多个类别

Unit testing nunit到testfixture和测试属性的多个类别,unit-testing,testing,nunit,Unit Testing,Testing,Nunit,在上面的代码片段中,什么将被视为方法的TestCategory:“P1”或“P2”或两者 我想使用类别筛选测试。当前,您的测试方法将仅为类别P2 类别当前未被继承。这里有一些公开的GitHub问题可以改变这种行为:这里:从技术角度讲,P1是TestClass的类别,P2是Method的类别。这很清楚 正如Chris指出的,类别不是继承的。但是,这对于过滤的大多数目的来说并不重要 console runner命令行上的以下选项之一将运行方法: --其中“cat==P1” --其中“cat==P2

在上面的代码片段中,什么将被视为
方法的
TestCategory
:“P1”或“P2”或两者


我想使用类别筛选测试。

当前,您的测试方法将仅为类别P2


类别当前未被继承。这里有一些公开的GitHub问题可以改变这种行为:这里:

从技术角度讲,P1是TestClass的类别,P2是Method的类别。这很清楚

正如Chris指出的,类别不是继承的。但是,这对于过滤的大多数目的来说并不重要

console runner命令行上的以下选项之一将运行方法:


--其中“cat==P1”
--其中“cat==P2”

以下任一项都将排除方法


--其中“cat!=P1”
--其中“cat!=P2”

此命令将运行TestClass中的所有测试,方法为的测试除外:


--其中“cat==P1&&cat!=P2”


照此看来,它的行为就像是继承了类别,尽管它不是继承的

--其中“cat==P1&&cat==P2”将运行“方法”?@IshuGoyal不,它不会。这是类别显示其真实颜色的情况。由于类上的属性不是继承的,因此它只有类别P2。我应该说(编辑)“出于大多数目的”
[TestFixture(Category = "P1")]
public class TestClass 
{
    [Test(Category = "P2")]
    public void Method()
    {
        //test
    }
}