VS2017无法发现MSTest测试。

7
我一直反复碰到 .Net framework 4.5、4.6以及4.7的一些项目在测试探测器中无法发现它们的测试问题。"tests"日志输出显示如下:
"The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)"
这就是我所拥有的全部信息。
我已经尝试了各种不同版本的MSTest.Framework和适配器等组合,但仍无法解决此问题。我也尝试过清除测试扩展缓存。

如果您使用的是Enterprise版本,在测试类中启用实时单元测试(Tools > Options > Live Unit Testing)并将日志级别更改为Verbose,可以提供一些有关失败的额外信息。 - Eric Olsson
你是否将 Code 项目命名空间引入到测试项目中? - Anish varma Adduri
遇到了相同的问题,尝试重新创建测试项目,但没有成功。 - Leniency
@Eric 我已经做了。当启用实时单元测试时,测试出现了。然后在禁用它时消失了。 - Jerome Haltom
3个回答

8

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

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


1
我遇到了相同的问题。我正在使用VS 2017和.Net版本4.7。虽然我通过添加Visual Studio Quality Tools并删除MSTest框架和适配器包使测试可运行,但我仍然遇到其他问题,如“Could not load System.Runtime”。
更新:在我的情况下,导致此问题的根本原因是删除测试项目的.csproj文件中的标记。我遇到了缺少文件NuGet包错误,并按照 这里 的建议解决了该问题。不幸的是,这有一个副作用,使我的测试方法无法被发现。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接