【发布时间】:2019-03-29 00:31:36
【问题描述】:
我们有一个带有单元测试的 UWP 应用,可以在 Visual Studio 中正常运行。但是,当我们尝试在我们的构建代理上运行测试时,我们遇到了问题。为了将问题与我们的构建管道隔离开来,我们尝试在本地构建机器上的命令行中使用vstest.console.exe 运行测试。无论我们是从构建管道还是从命令行运行,下面的错误都是相同的。我们将不胜感激。
TestWindow>vstest.console.exe /Platform:x86 /Framework:FrameworkUap10 /InIsolation /logger:trx;LogFileName=%temp%\SampleUwpAppTest.trx C:\vsts-agent_work\22\a\AppxPackages\SimpleUwpApp.Tests_1.0.0.0_x86_Test\SimpleUwpApp.Tests_1.0.0.0_x86.appx Microsoft (R) 测试执行命令行工具版本 15.7.2 版权所有 (c) 微软公司。保留所有权利。
开始测试执行,请稍候...正在尝试部署到目标 '本地机器'。部署操作成功,包名字: '7d25c824-2568-4449-a622-ad28662417f9_1.0.0.0_x86__a178p9x51fw8a'。 尝试使用应用程序用户模型 ID 启动应用程序 '7d25c824-2568-4449-a622-ad28662417f9_a178p9x51fw8a!vstest.executionengine.universal.App' 和参数 '--port 1428 --endpoint 127.0.0.1:01428 --role client --parentprocessid 5744 --telemetryoptedin false'。 DEP7100:无法激活应用 '7d25c824-2568-4449-a622-ad28662417f9_a178p9x51fw8a!vstest.executionengine.universal.App' 带有参数'--port 1428 --endpoint 127.0.0.1:01428 --role client --parentprocessid 5744 --telemetryoptedin false'。访问被拒绝。
访问被拒绝。
应用激活失败。 Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: 初始化客户端代理失败:无法连接到测试进程。 在 Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 来源)在 Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyExecutionManager.StartTestRun(TestRunCriteria testRunCriteria, ITestRunEventsHandler eventHandler) 关闭应用程序 包全名 '7d25c824-2568-4449-a622-ad28662417f9_1.0.0.0_x86__a178p9x51fw8a'。
测试运行中止。
构建信息
我们的示例解决方案有两个项目:SimpleUwpApp 和 SimpleUwpApp.Tests。前者的项目文件有<AppxBundle>Always</AppxBundle>,后者有<AppxBundle>Never</AppxBundle>。构建代理是我们用于 UWP 构建一段时间的本地 Windows 10 机器。这是我们在 Azure DevOps 中构建配置的屏幕截图:
【问题讨论】:
-
您使用什么构建代理?我假设 Microsoft 托管代理是 Windows Server,docs.microsoft.com/en-us/azure/devops/pipelines/agents/…,它不能运行 UWP 应用程序。您可以改为在 Windows 10 机器上构建自己的代理。
-
@LexLi,我们正在使用我们自己的本地 Windows 10 机器,正如this article 所说,这是运行 UWP 单元测试所必需的。
标签: unit-testing uwp msbuild azure-devops vstest