我正努力让我的单元测试工作。我已经和这个问题搏斗了好几个小时了,我没有解释为什么事情不起作用。我在我的代码库上有一个相当重要的重构,并且已经完成并修复了所有的单元测试。测试项目构建,它输出一个新的单元测试dll。但是,当我在测试资源管理器中运行测试时,我收到以下消息:
[2/27/2019 5:08:05 PM警告] [MSTest] [发现] [C:\ pathtotest.dll]无法从程序集C:\ pathtotest.dll发现测试。原因:无法加载文件或程序集'System.Runtime,Version = 4.1.2.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。该系统找不到指定的文件。
[2/27/2019 5:08:05 PM警告]没有测试匹配C:\ pathtotest.dll中给定的测试用例过滤器
FullyQualifiedName=<namespace.namespace...testmethod>
这就是我所知道的:
其他帖子提供的一些建议是确保您的测试体系结构正确并删除%TEMP%中的文件夹(不记得确切的名称,除了是关于VisualStudioExtensions的内容)。他们建议删除的文件夹在%TEMP%中找不到,我尝试在两个体系结构上运行我的测试,结果相同。
所以下一步是进行健全性测试并确保构建的测试dll存在。确实如此。
此时我准备开始一个新的测试项目,并逐个复制粘贴所有测试,看看是否有人抛出了一个无声错误。我用自己的Google-fu技能找不到任何有用的信息,我希望有人可以尝试一些有用的见解或技巧。
从上面的评论:
使用这个C:\pathtotest.dll
检查它是否是32bit or 64bit
运行时。
大多数情况下使用32bit
dll。
希望能帮助到你
我在现有解决方案中遇到了一个全新的测试项目的类似问题 - 我的所有其他测试项目都已正确编译和测试,但新的测试项目反复出现错误:
没有测试匹配给定的测试用例过滤器......
答案来自这篇文章VSTest: A testsettings file or a runsettings with a ForcedLegacyMode set to true is not supported with the MSTest V2 Adapter. No test is available,它建议关闭testsettings文件,该文件以某种方式在新项目中被选中。
一旦我在Visual Studio中取消选择测试 - >测试设置 - > c:... \ Repos ... testsettings选项,测试就可以运行了。