【问题标题】:Filter on Category for NUnit MSBuild tasks?过滤 NUnit MSBuild 任务的类别?
【发布时间】:2009-06-22 17:20:34
【问题描述】:

我正在设置一个 MSBuild 项目来运行一些 NUnit 测试,使用 MSBuild Community Tasks Project

通过这些设置,我将能够运行 NUnit 测试:

<Target Name="Test" DependsOnTargets="Build">
    <CreateItem Include="$(ProjectTestDir)\$(ClassLibraryOutputDirectory)\*.Tests.dll">
        <Output TaskParameter="Include" ItemName="TestAssembly" />
    </CreateItem>
    <NUnit Assemblies="@(TestAssembly)" />
</Target>

...但是我怎样才能只运行某些测试 - 比如具有特定类别的测试?我们为我们的测试添加了不同的类别——一些一直运行,一些只在每晚构建时运行等等。

我没有看到任何允许我对此进行过滤的设置,或者我错过了什么?当然,你们中的一些人遇到过同样的问题并以某种方式解决了吗?它不必使用这个 msbuild 社区任务项目。

【问题讨论】:

    标签: msbuild nunit continuous-integration msbuild-task


    【解决方案1】:

    在 CHM 中查找,有一个 IncludeCategory 属性...听起来像您在寻找什么? (CHM文件安装在C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks)

    【讨论】:

    • 完美!我知道我遗漏了一些东西 - 我正在寻找文档,但它在那里:)
    • 如何将其应用于 TFS 2012 构建服务器和 NUnit 测试?我应该用Category("IntegrationTest") 属性(而不是MSTests 的TestCategory("IntegrationTest") 属性)来装饰测试,然后TestCategory!=IntegrationTestTest case Filter 应该过滤NUnit 吗?奖励:如何使用 xUnit 测试来做到这一点?我没有看到任何类别属性。
    • @CsabaToth 对于 xunit,有一个 TraitAttributexunit MSBuild 任务允许通过属性 AFAIK 对其进行过滤(我个人使用控制台运行器,它有一个 /-trait 选项在其命令行语法中)。我不会通过为您搜索 MSTest 等价物来猜测(或污染我的思想!)。 (顺便说一句,TraitAttribute 不是sealed,因此通常使用已知键(和值)滚动适当的属性)
    • @CsabaToth 不幸的是,它还不支持,请参阅xunit.codeplex.com/workitem/9835(去投票!)
    • @CsabaToth 这很好,但是获得大型 V2 的东西仍然应该优先于 IMO。最好在 xunit.xodeplex.com 上进行讨论 - 它只是不属于这里的问题或答案
    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多