运行NUnit并指定类别时,是否也可以包括所有未分类的测试?

运行NUnit并指定类别时,是否也可以包括所有未分类的测试?,nunit,nant,categories,explicit,nant-task,Nunit,Nant,Categories,Explicit,Nant Task,我们有几百个测试类,其中有几十个用以下属性标记: [测试夹具] [明确] [类别(“集成测试”)] 因此,它们只能在我们的夜间自动构建中运行。其余的TestFixture没有指定类别(也没有显式标记) 以下是我们正在运行以执行测试的NAnt任务: <nunit2> <test> ... <categories> <include name="IntegrationTests" />

我们有几百个测试类,其中有几十个用以下属性标记: [测试夹具] [明确] [类别(“集成测试”)] 因此,它们只能在我们的夜间自动构建中运行。其余的TestFixture没有指定类别(也没有显式标记)

以下是我们正在运行以执行测试的NAnt任务:

<nunit2>
    <test>
        ...
        <categories>
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>

...
...
当然,这不会执行任何未分类的测试

我希望能够做到这样:

<nunit2>
    <test>
        ...
        <categories>
            <include name="*" />
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>

...
...
所有未分类的测试都将与集成测试一起运行。这可能吗?如果是,语法是什么


(注意:我正在寻找上述NAnt解决方案,或者NUnit命令行解决方案。我当然可以使用不同的选项运行NUnit两次,或者在我的所有测试装置上放置类别。如果必须,这些都是我可以使用的解决方法,但是能够直接指定未分类的测试会更酷。)

否,考虑到你们的情况,并没有办法在一次NUnit运行中实现你们想要的。如果去掉显式属性,可以通过排除所有不需要的分类测试在一次运行中完成


基本上,如果您跳转到类别,所有测试都应该被分类。

我处于同一条船上,并且一直感到沮丧,直到我发现Category属性不仅可以应用于测试或测试夹具,而且可以应用于整个组件

我有两个测试程序集,其中的测试在本地运行,还有一个测试程序集的测试应该只在构建服务器上运行。我在前两个项目的AssemblyInfo.cs中添加了这个属性:
[assembly:NUnit.Framework.Category(“始终”)]
。第三个测试项目使用类别属性,如您所描述的
[显式,类别(“PublicDatabase”)]
。生成服务器使用
/include=Always、PublicDatabase
调用NUnit,并获得所需的结果:前两个程序集中的所有测试都将运行,第三个程序集中仅运行
PublicDatabase
测试


当我在前两个项目上本地运行NUnit时,我只在单个程序集上运行它,根本不需要指定类别。

如果有办法确保所有测试都是分类的,我会同意的?IIUC,这不仅仅是运行“所有未分类的测试”。它还将运行所有测试(来自具有程序集级别类别的程序集),包括其中具有显式类别的所有测试(我假设类别是相加的)?