使用resharper从visual studio运行单元测试时出现以下错误:
Test-case objects missing for the following elements: ... Rebuild the project and try again
在单元测试方法旁边的工具提示中,它显示:Inconclusive: Test not run
,我认为它曾在某一点上说Unit test skipped
。 Resharper显示灰色眼睛图标。
Visual Studio的Test Explorer也存在一个奇怪的问题。它不会显示我的所有单元测试。事实上,它缺少200多个单元测试。它们只是没有出现在Test Explorer窗口中。我确实有一些测试出现并且运行得很好。
我已经尝试过的事情:重新启动我的机器,清理,重建,更改所有相关项目以使用相同的.net框架4.7。
我正在使用VS 2017 .net Framework 4.7,Resharper和MSTest。全部都有最新的更新和版本。
答案 0 :(得分:26)
我删除了所有nuget包后遇到了这个错误,因为我更改了我的.net版本,并且不需要任何编译。
重新安装MSTest.TestAdapter之后nuget包re-sharper开始按预期再次运行我的单元测试
Install-Package MSTest.TestAdapter
答案 1 :(得分:17)
我知道这不会回答OP的问题,因为他/她已经尝试过,但也许它会帮助其他人。
对我来说,Visual Studio的简单重启解决了以下元素缺少的 测试用例对象:...重建项目并重试 问题。
答案 2 :(得分:3)
在我敲了一天之后,我让Test Explorer工作了。它是目标平台。
在单元测试项目属性中,在Build下,我将Platform目标设为x64。我将它切换到AnyCPU,测试资源管理器立即拿起我缺少的单元测试。然而,resharper仍然给我同样的错误。如果我找到解决方案,我会更新。与此同时,我现在至少可以运行和调试我的单元测试。
答案 3 :(得分:0)
我的问题是使用了错误的构建配置。
我的解决方案有很多项目和很多不同的构建配置,我无意中选择了错误的项目配置,该配置没有正确设置以包含我要使用的测试项目。
答案 4 :(得分:0)
这对我来说是因为我为FLEE安装了Nuget软件包,这将以下行插入到我的测试项目的app.config文件中:
{{1}}
由于我的机器上没有安装4.1.2.0版本(我有4.0.0.0),因此测试项目失败并显示了这个非常令人困惑的“错误消息”
一旦我安装了早期版本(1.05)的FLEE软件包(使用4.0.0.0),并且在我的app.config的bindingRedirect中将版本号更改为4.0.0.0,一切都变得正常了
答案 5 :(得分:0)
在使用F#项目时遇到此问题。在我的情况下,导致问题的原因是测试方法名称中包含方括号;
[<TestMethod>]
member x.``E is updated where generic form or visit should include (this) UPDATED VISIT AND FORM``() =
let origExpr = "visit:form:INTQ1AB"
let checkedExpr = "VISIT2:FormFour:INTQ1AB"
...
进行了不确定的测试,而如下删除了[(this)]周围的括号
[<TestMethod>]
member x.``E is updated where generic form or visit should include this UPDATED VISIT AND FORM``() =
let origExpr = "visit:form:INTQ1AB"
let checkedExpr = "VISIT2:FormFour:INTQ1AB"
...
允许测试成功完成。
答案 6 :(得分:0)
我将MSTest.TestAdapter从1.1.18升级到了1.3.2。终于为我解决了。
答案 7 :(得分:0)
当我让Resharper通过NuGet搜索Nunit的缺失参考文献时,我遇到了这个问题。它没有下载我需要的.NET核心兼容软件包版本,而是使用了.NET Framework版本。我卸载了NUnit软件包,然后使用NuGet软件包管理器重新安装了它。
答案 8 :(得分:0)
将解决方案克隆到新计算机上之后,我遇到了此错误。问题是我没有安装指定的dotnet框架-我只安装了2.1和3.0,而它需要2.2。公平地说,测试输出中的错误确实报告了这一点:
Testhost process exited with error: It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.
- The following frameworks were found:
2.1.13 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
3.0.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
The .NET Core frameworks can be found at:
- https://aka.ms/dotnet-download
. Please check the diagnostic logs for more information.
请注意,Visual Studio在安装缺少的框架后需要重新启动。
答案 9 :(得分:0)
当我更新一些测试项目以使用新格式的项目文件时,我遇到了这个问题,其中一些项目在运行测试时仍需要包含app.config文件,
在app.config的运行时部分中删除所有程序集绑定对我来说就是固定的-即在运行时部分中删除此类条目
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
答案 10 :(得分:0)
该错误应该在Visible Studio的“输出”窗口中可见。您可能需要在选项中将其更改为详细程度。
在我的情况下,这是因为我引用的是没有强名的dll。