TFS 构建定义忽略编码 UI 测试

TFS Build Definition Ignore Coded UI Tests

我们最近在我们的解决方案中添加了编码 UI 测试。当 运行 通过测试资源管理器时,测试成功完成,但是当签入代码并触发构建时,所有 CUIT 都失败(错误消息如下)。

我已查看错误消息中的每个 link。第一个详细介绍了如何设置测试代理以 运行 测试。我们真的不需要对所有环境进行测试,因为我们正在为 运行 设置一个实验室环境,添加测试代理需要我提交一张票,这可能需要几个月的时间才能得到回复,而不是提到引导这个人完成需要做的事情。

第二个 link 已经死了,我很确定我不想将构建更改为交互式。

我希望有一种简单的方法来更改构建定义(我有权访问),以便它可以忽略所有编码 UI 测试,但仍然 运行 单元测试。这可能吗?有没有更简单的方法来解决这个问题?每组测试都有自己的项目文件,一个项目中的所有编码 UI 测试和另一个项目中的所有单元测试。

提前致谢。

这是所有编码 UI 测试中的错误: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException: 要 运行 与桌面交互的测试,您必须将测试代理设置为 运行 作为交互进程。有关详细信息,请参阅 "How to: Set Up Your Test Agent to Run Tests That Interact with the Desktop" (http://go.microsoft.com/fwlink/?LinkId=255012) 如果您将 运行 测试作为团队构建的一部分,则还必须将构建代理设置为 运行 作为交互过程。有关详细信息,请参阅 "How to: Configure and Run Scheduled Tests After Building Your Application" (http://go.microsoft.com/fwlink/?LinkId=254735)。

您可以做的一件事是将所有编码的 UI 测试分组到一个特定的测试类别中,并在构建中排除 运行ning 那些。我们通过 "integration" 测试来做到这一点,并且出于速度原因只选择 运行 我们真正的单元测试。

参见下文link了解如何使用测试类别:

https://msdn.microsoft.com/en-us/library/dd286683.aspx

另请参阅下文,了解如何将您的构建定义编辑为仅 运行 您想要的测试:

Excluding tests from tfs build

您可以使用一些命名模式并将其与执行测试步骤中的测试用例过滤器选项结合使用:

类似于:

FullyQualifiedName ~ .Ui.

这需要 Ui 测试在命名空间 .Ui 中有