【问题标题】:VS2017 cannot discover MSTest testsVS2017 无法发现 MSTest 测试
【发布时间】:2017-07-26 18:40:43
【问题描述】:

我的一些 .Net 框架 4.5 和 4.6 和 4.7 项目没有被测试资源管理器发现他们的测试,我一直遇到这个反复出现的问题。 “测试”日志输出显示:

The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

这就是我掌握的所有信息。

我已经尝试了 MSTest.Framework 和适配器等不同版本的几乎所有组合。就是想不通这个。我已经完成了测试扩展缓存清除。

【问题讨论】:

  • 如果您拥有 Enterprise,将 Live Unit Testing 的日志记录级别更改为详细(工具 > 选项 > Live Unit Testing)并为测试类启用它可以提供有关失败的一些额外信息。
  • 您是否将代码项目命名空间导入到测试项目中?
  • 遇到同样的问题,也尝试重新创建测试项目,但没有成功。
  • @Eric 我做到了。启用 Live Unit Testing 时出现测试。然后在禁用时消失。

标签: c# visual-studio-2017 mstest


【解决方案1】:

我已将一些项目升级到 4.6.2,其中两个具有带有特定程序集绑定的 app.config 文件。

删除两个 app.config 文件为我解决了问题 - 文件中没有使用其他设置,所以我只是删除而不是修复绑定。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我正在使用 VS 2017 和 .Net 4.7 版。虽然我通过添加 Visual Studio 质量工具和删除 MSTest 框架和适配器包使测试可运行,但我遇到了其他问题,例如“无法加载 System.Runtime”

    更新:就我而言,出现此问题的根本原因是删除了测试项目的 .csproj 文件中的 <Target> 标记。我收到了缺少文件 nuget 包错误,并按照建议 here 解决了该问题。不幸的是,它有一个副作用,使我的测试方法无法被发现

    【讨论】:

      【解决方案3】:

      在我的情况下,我的 app.config xml 格式中的错误阻止了在该测试项目上发现和运行测试。
      但实际上很奇怪,错误是这个错误而不是格式错误的配置......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-04
        • 2018-09-23
        • 1970-01-01
        • 2023-04-02
        相关资源
        最近更新 更多