gpt4 book ai didi

c# - 单元测试适配器在 TeamCity 7.1.5 中抛出没有堆栈跟踪的异常

转载 作者:行者123 更新时间:2023-11-30 17:03:11 27 4
gpt4 key购买 nike

我们有一个 ASP.NET MVC 4.5 项目。几个月来,它一直在编译,所有单元测试都在我们的开发机器和 TeamCity 7.1.5 机器上本地通过。星期一,我们更新了一些依赖项的较新版本(具体来说,为 select-expand 获取 OData 5.0.0-rc1)。

该项目在我们的开发机器和构建机器上编译良好。它在我们的开发机器和它部署到的两个 QA 环境上运行良好。所有单元测试都在我们的开发机器上通过。但是,当使用 MSTest 构建运行器从 TeamCity 运行时,大约一半 (~300) 个单元测试现在失败,所有单元测试都出现相同的无用错误:

Unit Test Adapter threw exception: 
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

我已经尝试了所有可以想到的方法。起初我认为这是一个合理的问题。由于无法从 TeamCity 检索 LoaderExceptions 属性(为什么 MSTest 不显示更多信息!?!?),我登录到运行 TeamCity 的机器,打开控制台,更改为我们的工作目录build 正在运行,并手动运行测试,以便我可以检索属性。所有测试都通过了!有那个理论......

在谷歌搜索和阅读 StackOverflow 上的其他答案一整天后,我尝试了以下步骤的大约两打不同组合:

  • 将构建从“重建”更改为“清理”,在没有测试的情况下运行它,以便它只是清理,将其更改回来,然后再次运行。
  • 将构建从“调试”更改为“发布”,运行它,然后再次更改回来。
  • 来自 TeamCity 管理页面的清洁剂来源。
  • 手动删除代理的整个工作目录,跳过回收站,直接进入 hell 。
  • 删除构建机器和代理的所有源代码管理 (TFS) 缓存。
  • 告诉 TeamCity 在从源代码管理获取最新版本之前清理工作目录。

我的故障排除能力已经用完了。测试将不再在构建机器上运行,显然没有任何原因。

我能做什么?这到底是怎么回事?

最佳答案

对此的简短回答是,“这是一个 bug 。”

reported the bug to JetBrains .看起来,虽然我的项目可能存在一些潜在问题,但它只是从 Teamcity 运行时出现的问题,并且不可能检索到实际的错误消息,因此无法知道问题是什么。运行程序应该捕获异常并打印出 LoaderExceptions 属性,但事实并非如此。相反,它只是在发生异常时调用 ToString()。必须更新运行程序以查找此特定异常并打印 LoaderExceptions 属性。一旦发生这种情况,我们就可以看到潜在的问题,这可能会导致更改项目中的某些内容,或者可能会导致向 JetBrains 提交另一个错误。

关于c# - 单元测试适配器在 TeamCity 7.1.5 中抛出没有堆栈跟踪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com