【问题标题】:How to configure TFS 2012 to use vstest.console.exe如何配置 TFS 2012 以使用 vstest.console.exe
【发布时间】:2014-10-08 16:06:23
【问题描述】:

我们使用 TFS 2012 通过构建定义,我们从 MTM 测试计划执行自动化测试。 我们如何确保 TFS 使用 vstest.console.exe 来运行每个测试? 我从其他帖子在线阅读 TFS 2012 让您选择 MSTest 或 VSTest 作为测试运行器。 我还读到,如果您使用 MTM,您实际上会被锁定在使用测试设置文件 (.testsettings),这意味着您被锁定在使用 MSTest。这似乎违背了 TFS 2012 给您的选择。

【问题讨论】:

    标签: mstest


    【解决方案1】:

    测试管理器目前仅支持 MsTest。这是测试管理器中的一个限制。同样的问题会阻止您将 xUnit 或 NUnit 测试自动化与测试用例相关联。

    因此,虽然 TFS 2012 为您提供了选择,但每种选择都有其自身的限制。

    要明确:

    • 新的测试运行器:在持续集成中工作,您可以通过选择新的敏捷测试运行器来指定要运行的测试(在 TFS 2013 中,这是默认模板中的固定选择,运行 mstest 需要模板自定义) .它可以在构建期间运行测试,如果您想在部署后运行测试,您可以直接从命令行调用它。您可以使用.runsettings file to specify certain options it should pick up。执行 NUnit、XUnit.NET、Chutzpah 等 3rd 方测试框架需要此选项。

    • MTM 测试运行器:执行与测试用例工作项关联的自动化测试,或使用测试代理执行测试,以使用团队测试基础架构从远程系统运行测试。 You can use a .testsettings file to specify certain options it should pick up. 这些测试将使用 MsTest 执行,不能包含 3rd 方测试框架。

    在您的持续集成构建中,您可以配置多个测试运行,每个测试运行都可以配置为特定的测试框架。因此,您可以在构建中同时使用这两个选项。

    More on the differences and how you can use the different settings files.

    随着时间的推移,所有测试选项都将移至新的测试运行器。在 TFS 2013 中,默认删除了在构建定义中配置基于 MsTest 的测试运行的选项。您将需要自定义构建过程以选择不同的测试运行器。

    【讨论】:

    • 您的意思是,如果您使用 TFS 2012,您将无法在持续集成环境中运行需要 vstest.console 的测试(如 Windows Phone 8 测试)?
    • TFS 2012 CI 构建将愉快地执行这两种类型的测试。使用测试管理器或测试代理基础架构运行测试存在限制。
    • 您在 Windows Phone 单元测试项目中具备 CI 技能吗?实际上我无法让我的构建控制器执行 WP8 单元测试“.xap”包。它默默地跳过所有这些。我成功地从 vstest.console.exe 命令行测试运行它们
    • 你说得对,刚刚发布了我的问题here
    • 您是否暗示 TFS 2013 也将默认使用 vstest.console.exe 从测试管理器/MTM 运行测试?
    猜你喜欢
    • 2015-04-17
    • 2013-07-09
    • 1970-01-01
    • 2012-10-29
    • 2017-12-25
    • 1970-01-01
    • 2010-11-21
    • 2015-01-04
    • 1970-01-01
    相关资源
    最近更新 更多