我们最近在我们的解决方案中添加了编码UI测试。在通过测试资源管理器运行时,测试成功完成,但是当检入代码并触发构建时,所有CUIT都会失败(错误消息在下面)。
我已转到错误消息中的每个链接。第一个详细说明了如何设置测试代理来运行测试。我们并不真正需要在所有环境中进行测试,因为我们正在设置实验室环境来运行它们,并且添加测试代理需要我提交一张可能需要数月才能获得回复的票证,更不用说走路了通过什么需要做的人。
第二个链接已经死了,我很确定我不想将构建更改为交互式。
我希望有一种简单的方法来更改构建定义(我可以访问),以便它可以忽略所有编码的UI测试,但仍然运行单元测试。这可能吗?有没有更简单的方法来解决这个问题?每组测试都有自己的项目文件,一个项目中的所有编码UI测试和另一个项目中的所有单元测试。
提前致谢。
以下是所有编码的UI测试中的错误: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException:要运行与桌面交互的测试,必须将测试代理设置为作为交互式进程运行。有关详细信息,请参阅"如何:设置测试代理以运行与桌面交互的测试" (http://go.microsoft.com/fwlink/?LinkId=255012) 如果您在团队构建过程中运行测试,则还必须将构建代理设置为作为交互式过程运行。有关详细信息,请参阅"如何:在构建应用程序后配置和运行预定测试" (http://go.microsoft.com/fwlink/?LinkId=254735)。
答案 0 :(得分:0)
您可以做的一件事是将所有编码的UI测试分组到特定的测试类别中,并排除在构建中运行它们。我们通过“集成”测试来完成此操作,并且仅出于速度原因选择运行我们的真实单元测试。
请参阅以下链接了解如何使用测试类别:
https://msdn.microsoft.com/en-us/library/dd286683.aspx
另请参阅以下内容,了解如何编辑构建定义以仅运行所需的测试:
答案 1 :(得分:0)
您可以使用一些命名模式,并将其与执行测试步骤中的Test case Filter选项结合使用:
类似的东西:
FullyQualifiedName ~ .Ui.
这将要求Ui测试在命名空间中有.Ui