【发布时间】:2021-12-07 12:57:50
【问题描述】:
我正在努力让我的单元测试正常工作。我已经为这个问题挣扎了几个小时,但我无法解释为什么事情不起作用。我对我的代码库进行了相当大的重构,并且已经完成并修复了所有单元测试。测试项目构建,它输出一个新的单元测试 dll。但是,当我在测试资源管理器中运行测试时,我收到以下消息:
[2/27/2019 5:08:05 PM 警告] [MSTest][Discovery][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>匹配
这是我所知道的:
-
我最近更新了 Visual Studio(在过去的两周内,不记得具体是什么时候更新的)。
-
测试项目中的所有包都已更新,并且正在运行最新版本的东西。
-
我有另一个单元测试项目是 .Net Core 2.1,这是 .Net Framework 4.7.2。另一个项目有效。
其他帖子给出的一些建议是确保您的测试架构正确并删除 %TEMP% 中的文件夹(不记得确切的名称,除非是关于 VisualStudioExtensions 的内容)。在 %TEMP% 中找不到他们建议删除的文件夹,我尝试在两种架构上运行测试,结果相同。
所以下一步是进行健全性测试并确保构建的测试 dll 存在。确实如此。
此时,我准备开始一个新的测试项目,并将所有测试一一复制粘贴,看看是否有可能引发无提示错误。我用自己的 Google-fu 技能找不到任何有用的信息,我希望有人能提供一些有用的见解或技巧来尝试。
【问题讨论】:
-
检查每个 dll 是否包含。这是你的问题
C:\pathtotest.dll。这个 dll 是否与其他 dll 有依赖关系? -
您在这个项目中有哪些 nuget?你有 runner nuget 吗?
-
不完全确定你在问什么@Baruch。当我最初创建项目时,它只是一个 .Net Framework MSTest 项目。
标签: c# visual-studio-2017 mstest