【问题标题】:Visual Studio 2012 RC - Run Unit Tests after build - Specify test categories to runVisual Studio 2012 RC - 构建后运行单元测试 - 指定要运行的测试类别
【发布时间】:2012-08-07 16:41:18
【问题描述】:

在 VS2012(RC,即将成为 RTM)中,是否可以对每次构建后运行的 (nunit) 单元测试进行选择?我喜欢这个功能,但我有两个测试类别/程序集——一个用于预期快速运行的实际单元测试,另一个用于数据库方案和测试生成数据。我不想在每次构建后都运行后者,但我想将此功能用于常规单元测试。有没有办法指定类别/程序集/等。应该在成功构建后执行? 谢谢 JP

【问题讨论】:

  • NUnit 文档并未表明该功能应该可用。考虑在NUnit Test Adapter bug report site 上提交错误/功能请求。也许开发人员可以对此有所了解。否则,我最好的选择是使用 .runsettings 文件,尽管不清楚如何设置此配置。
  • 我刚刚浏览了测试适配器源代码here。目前在代码中没有明显的处理类别的迹象。

标签: unit-testing nunit visual-studio-2012 test-runner


【解决方案1】:

@Gishu 是正确的。如果您将过滤器应用于测试资源管理器,则运行器将在选择要运行的测试时使用该过滤器列表的结果。

我们将继续通过 RTM 和后期向测试资源管理器添加其他过滤器选项(例如类别、项目等)。请继续关注这方面的更多信息。

【讨论】:

  • 我实际上是在今天早些时候针对这个问题提交了一个错误/功能请求(这可能引发了这个响应?);无论如何,the bug report 中还有一些额外的 cmets。
  • 很高兴知道“过滤类别”正在筹备中...+1
  • 感谢您提供更多信息。如果可能的话,我会与你和@Gishu 分享赏金,但因为这不是最全面的答案......
  • @peter 看起来今天的更新中添加了一些额外的支持(Project + Traits),但是过滤器不会在重新加载后持续存在,因此设置 Run After Build 似乎仍然会导致您的集成速度很慢如果您忘记每次都放入过滤器,则在第一次构建时运行测试? :(
【解决方案2】:

在测试资源管理器窗口中,有一个搜索框。您可以指定过滤器 - 一个看起来很有希望的过滤器称为 TestFilePath 过滤器。 (下拉查看可用的过滤器)

例如FilePath:"Transaction" 仅过滤 Transactions.cs 文件中的测试。您可以使用它来排除其他程序集中的测试,例如如果文件夹是单元和数据库。指定 FilePath:"Unit" 应该可以工作。试试看吧。。

文档:在 the page here 上搜索“过滤”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2023-04-04
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多