【发布时间】:2023-04-03 14:12:01
【问题描述】:
我的团队正在尝试将 Chutzpah 集成到 TFS 2012 构建过程中。我们以this blog post 为起点。
在高层次上,实际问题是构建代理上下文中的 Visual Studio 测试运行程序根本找不到 Chutzpah 挂钩。因此,虽然我们可以将 **\*.js 定义为测试源,但实际上没有找到并初始化 Chutzpah 引导程序,测试运行程序不会对这些文件做任何事情。
在更详细的层面上,当我们检查日志以加载构建控制器的自定义程序集时,我们会收到三个相关消息:
Summary: There were 0 failures, 2 errors and 1 warnings loading custom activities and services.
Error: Method 'ToXml' in type 'Chutzpah.VS2012.TestAdapter.ChutzpahAdapterSettings' from assembly 'Chutzpah.VS2012.TestAdapter, Version=2.2.0.171, Culture=neutral, PublicKeyToken=1ca802c37ffe1896' does not have an implementation.
Error: API restriction: The assembly '...\AppData\Local\Temp\VSTFSBuild\8c8e9402-1169-4782-99a9-ce42f83be8f0\A1288811191\Chutzpah\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.
Warning: Could not load file or assembly '...\AppData\Local\Temp\VSTFSBuild\8c8e9402-1169-4782-99a9-ce42f83be8f0\A1288811191\Chutzpah\phantomjs.exe' or one of its dependencies. The module was expected to contain an assembly manifest.
除了这些信息之外,我们或多或少都陷入了困境。我很想听听有人实际让 Chutzpah 在独立的 2012 构建服务器上运行,以便我们比较配置。
【问题讨论】:
-
您是否尝试过使用 Chutzpah Nuget 包 (nuget.org/packages/Chutzpah) 而不是将程序集添加到自定义程序集路径?
-
@Betty 我试了一下以防万一,但我不明白它是如何工作的 - 构建代理上的测试运行程序如何在该设置中获得 Chutzpah 测试适配器的句柄?
-
不完全确定,但我知道即将推出的 TFS 更新 1 旨在支持这种情况 - 来自 blogs.msdn.com/b/bharry/archive/2012/10/29/… - “使用 Nuget 在 TFS 构建机器上更轻松地安装单元测试适配器”不能立即查找有关它的更多信息。
-
看来 chutzpah nuget 包无论如何都不包含测试运行程序。如果您可以等待,那么我建议您等待 TFS2012 更新 1 并等待 Chutzpah Test Runner 开发人员支持新方法。
-
你最后搞定了吗?更新 1 现已发布,尽管我还没有看到任何有关旨在简化此操作的更改的信息。我确实想到的最后一件事是仔细检查在测试运行对话框中选择了哪个测试运行器。