没有测试发现 - 在调试/运行单元测试用例时 - Visual Studio 2017 15.5.1

问题描述 投票:6回答:6

错误:未发现运行测试 - 在调试/运行C#单元测试用例时 - Visual Studio 2017 15.5.1未发现测试用例。

框架Microsoft.NET框架4.6.1

添加了测试适配器,如下所示:MSTest.TestAdapter.1.2.0 MSTest.TestFramework.1.2.0

测试资源管理器没有显示测试用例。

这在视觉工作室升级后开始发生。某些单元测试项目测试用例在测试资源管理器中未被发现。当尝试调试或运行它时说“没有发现测试运行”。

我尝试删除项目并重新创建它..但没有奏效。

输出[4/3/2018 2:59:25 PM信息]未发现任何测试运行。

更新

我已将VS更新到15.6.4删除VS测试缓存文件DEL%TEMP%\ VisualStudioTestExplorerExtensions重新启动Visual Studio

测试用例被发现但没有调试

visual-studio unit-testing testing mstest
6个回答
15
投票

问题

如果我理解正确,这是你观察到的:

运行测试时,可以在控制台中看到以下内容:

[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.

测试资源管理器显示:

no test found to run

可能发生了什么,并且在我身上发生了几次,测试发现是针对另一个架构设置的,而不是您当前设置的架构。

您当前的配置是x64

current configuration

但是,默认测试设置可能有另一个(例如x86):

default test settings

如果您使用当前体系结构(x86→x64)对齐测试设置,则应运行测试。

successful run

如果解决方案配置一致,那么现在不需要手动清理


4
投票

我安装了Nuget Package的版本,我将它们整合到最新的版本中,它修复了问题

MSTest.TestAdapter MSTest.TestFramework


1
投票

尝试清除位于%TEMP%目录中的临时文件删除文件夹:VisualStudioTestExplorerExtensions目录中的%temp%

注意:此路径通常位于C:\Users\(yourusername)\AppData\Local\Temp


1
投票

我有同样的问题,请确保将TestClass设置为公开!

[TestClass]
public class CSharp_JavaScript_ServerResponse_Test
{
}

0
投票

我做了下面的事情,它解决了我的问题

  1. 我已将VS更新到最新版本15.6.4
  2. 删除VS测试缓存文件DEL%TEMP%\ VisualStudioTestExplorerExtensions
  3. 重启Visual Studio

然后发现测试用例但没有调试。

这是错误的

“依赖查找域”:加载'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,您没有调试符号。

转到工具 - >选项 - >调试 - >符号并选择复选框“Microsoft符号服务器”,Visual Studio将自动下载PDB。

然后我降级了

MSTest.TestAdapter.1.2.0到1.1.18

MSTest.TestFramework.1.2.0到1.1.18

然后重启VS工作室并重建

仍然低于错误

“System.IO.FileNotFoundException:无法加载文件或程序集'System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。系统找不到指定的文件。”

然后我将版本设置为newVersion =“4.0.0.0”

它开始调试。


0
投票

伙计们

我遇到了同样的问题,并通过添加[TestClass]和[TestMethod]来修复它,并让我的Selenium Automated测试库在VS 2015上运行。

干杯,

[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/");

        }

    }

}

0
投票

接受的答案对我来说不是孤立的,但与此同时它做到了:

  1. 退出MSVS
  2. 删除.vs文件夹(您可能会丢失一些仅与该解决方案相关的设置)
  3. 重启MSVS
  4. 从接受的答案中,确保Test - > Settings - > Def Arch->与代码匹配
  5. 加载播放列表(如果适用)
  6. 建立
  7. 测试!
© www.soinside.com 2019 - 2024. All rights reserved.