错误:未发现运行测试 - 在调试/运行C#单元测试用例时 - Visual Studio 2017 15.5.1未发现测试用例。
框架 Microsoft.NET框架4.6.1
添加了如下测试适配器 MSTest.TestAdapter.1.2.0 MSTest.TestFramework.1.2.0
测试资源管理器未显示测试用例。
升级后的Visual Studio开始发生这种情况。 某些单元测试项目测试用例在测试资源管理器中未被发现。 当尝试调试或运行它时说"没有发现测试运行。"
我尝试删除项目并重新创建它......但是没有用。
输出 [4/3/2018 2:59:25 PM信息]未发现任何测试。
更新
我已将VS更新为15.6.4 删除VS测试缓存文件DEL%TEMP%\ VisualStudioTestExplorerExtensions 重新启动Visual Studio
已发现测试用例但未调试
答案 0 :(得分:12)
如果我理解正确,你会发现这是:
运行测试时,可以在控制台中看到以下内容:
[4/3/2018 2:26:13 PM Informational] ------ Run test started ------
[4/3/2018 2:26:14 PM Warning] No test is available in d:\...\UnitTestProject1.dll. Make sure that test discoverer & executors are
registered and platform & framework version settings are appropriate and try
again.
并且测试资源管理器显示:
可能发生了什么,并且在我身上发生了几次,测试发现是针对另一个架构设置的,而不是您当前设置的架构。
您当前的配置为 x64
但是,默认测试设置可能有另一个(例如 x86 ):
如果您使用当前架构(x86→x64)对齐测试设置,则应运行测试。
如果解决方案配置一致
,现在不需要手动清理答案 1 :(得分:2)
截至今天,我使用 NUnit @ VSCode 和 .NET 5.0 缺少 Microsoft.NET.Test.SDK NuGet 包.. 一旦我将它添加到 ALL 测试程序集(即:解决方案 .sln 中的所有 .csproj 文件),一切正常。 对许多到达这里的人来说,HTH。
这些 PackageReferences 在我的 TestProject.csproj
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit.Console" Version="3.12.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="4.0.0-beta.2"/>
<PackageReference Include="NUnitTestAdapter" Version="2.3.0"/>
<PackageReference Include="NUnit.Extension.NUnitProjectLoader" Version="3.6.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0-release-20210422-02"/>
</ItemGroup>
答案 2 :(得分:1)
我安装了可能的Nuget软件包版本,将它们合并为最新版本,并解决了问题
MSTest.TestAdapter MSTest.TestFramework
答案 3 :(得分:1)
在我的情况下,“构建->清洁解决方案”解决了问题。
答案 4 :(得分:0)
我做了下面的事情,它解决了我的问题
然后发现测试用例但没有调试。
这是错误的
“依赖查找程序域”:已加载'C:\ PROGRAM FILES(X86)\ MICROSOFT VISUAL STUDIO \ 2017 \ ENTERPRISE \ COMMON7 \ IDE \ EXTENSIONS \ TESTPLATFORM \ Microsoft.VisualStudio.TestPlatform.ObjectModel.dll'。无法找到或打开PDB文件。“
以及其他dll的类似错误如下
C:\ PROGRAM FILES(X86)\ MICROSOFT VISUAL STUDIO \ 2017 \ ENTERPRISE \ COMMON7 \ IDE \ EXTENSIONS \ TESTPLATFORM \ Microsoft.VisualStudio.TestPlatform.Common.dll'。无法找到或打开PDB文件。
因此,PDB是Visual Studio使用的调试信息文件。这些是系统DLL,您没有调试符号。
转到工具 - >选项 - &gt;调试 - &gt;符号并选中复选框“Microsoft符号服务器”,Visual Studio将自动下载PDB。
然后我降级了
MSTest.TestAdapter.1.2.0至1.1.18
MSTest.TestFramework.1.2.0至1.1.18
然后重新启动VS studio并重建
仍然出现以下错误
“System.IO.FileNotFoundException:无法加载文件或程序集'System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。“
然后我将版本设置为newVersion =“4.0.0.0”
它开始调试。
答案 5 :(得分:0)
人
我遇到了同样的问题,并通过添加[TestClass]和[TestMethod]进行了修复,并在VS 2015上运行了Selenium Automated测试库。
干杯
[TestClass]
public class GigHubAutomatedTest
{
[TestMethod]
public void StartApplication()
{
using(IWebDriver googleDriver = new ChromeDriver())
{
// 1. Maximize the browser
googleDriver.Manage().Window.Maximize();
googleDriver.Navigate().GoToUrl("https://www.google.com/");
}
}
}
答案 6 :(得分:0)
被接受的答案对我来说不是孤立的,但它确实可以做到:
答案 7 :(得分:0)
尝试清除%TEMP%
目录中的临时文件
删除文件夹VisualStudioTestExplorerExtensions
中的%temp%
。
注意:该路径通常位于C:\Users\(yourusername)\AppData\Local\Temp
答案 8 :(得分:0)
我遇到了同样的问题,请确保将TestClass设置为public!
[TestClass]
public class CSharp_JavaScript_ServerResponse_Test
{
}
答案 9 :(得分:0)
还要确保同时安装了MSTest.TestFramework和 MSTest.TestAdapter Nuget程序包