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

我们有几百个测试类,其中几十个标有以下属性:     [的TestFixture]     [显式]     [类别( “IntegrationTests”)] 所以它们只能在我们的夜间自动构建中运行。其余的TestFixtures没有指定类别(也没有标记为Explicit)。 这是我们为执行测试而运行的NAnt任务:
<nunit2>
    <test>
        ...
        <categories>
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>
当然,这不会执行任何未分类的测试。 我希望能够做到这样的事情:
<nunit2>
    <test>
        ...
        <categories>
            <include name="*" />
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>
所有未分类的测试都将与集成测试一起运行。这可能吗?如果是这样,语法是什么? (注意:我正在寻找一个NAnt解决方案,如上所述,或NUnit命令行解决方案。我当然可以使用不同的选项运行NUnit两次,或者在我的所有TestFixtures上放置类别。这些是我的解决方法如果必须,可以使用,但是能够直接指定未分类的测试会更酷。)     
已邀请:
我在同一条船上,并且感到沮丧,直到我发现Category属性不仅可以应用于测试或测试夹具,而且可以应用于整个组件。 我有两个测试程序集,我在本地运行测试,另外一个测试程序只能在构建服务器上运行。我在前两个项目的AssemblyInfo.cs中添加了这个属性:
[assembly: NUnit.Framework.Category("Always")]
。第三个测试项目使用了类似于
[Explicit, Category("PublicDatabase")]
的类别属性。构建服务器使用
/include=Always,PublicDatabase
调用NUnit并具有所需的结果:前两个程序集中的所有测试都运行,并且仅在第三个程序集运行中进行
PublicDatabase
测试。 当我在前两个项目上本地运行NUnit时,我只是在各个程序集上运行它,而不必指定类别。     
不,鉴于你的情况,在一次NUnit运行中没有办法做你想要的。如果您取消了显式属性,则可以通过排除所有不需要的分类测试在一次运行中完成。 基本上,如果你跳转到类别,你应该对所有测试进行分类。     

要回复问题请先登录注册