标签: test-explorer

为什么 VIsual Explorer 测试资源管理器启动单元测试很慢?

Visual Studio 2019 需要几分钟时间才能开始运行单元测试。这是一个大型(>300 个项目).NET Framework x86 解决方案。

  • 从控制台执行时,测试立即运行。
  • 测试需要几秒钟才能完成(一旦 VS 决定开始执行它们)。
  • vstest.console 在任务管理器中显示没有 cpu 使用情况。
  • 尝试运行单个测试没有什么区别。

感觉就像VS在等待什么,但是断开网络适配器并不会让测试变得更快。

在空项目中运行测试从单击“测试资源管理器”播放按钮到完成大约需要 6 秒。

这是详细的测试日志

[5/10/2021 9:22:45.934 PM] Interrupt: Enqueueing RunSelectedOperation
[5/10/2021 9:22:45.934 PM] Enqueue operation 'RunSelectedOperation', hashcode:11243619 
[5/10/2021 9:22:45.935 PM] Operation left in the the queue: 1
[5/10/2021 9:22:45.935 PM]  'RunSelectedOperation', hashcode:11243619
[5/10/2021 9:22:45.935 PM] 

[5/10/2021 9:22:45.935 PM] Operation Dequeue : 'RunSelectedOperation'
[5/10/2021 9:24:01.053 PM] test container discoverer executor://orderedtestadapter/v1, discovered 1 containers
[5/10/2021 9:24:01.053 PM] Containers from 'Microsoft.VisualStudio.MSTest.TestWindow.OrderedTestContainerDiscoverer' :
[5/10/2021 …
Run Code Online (Sandbox Code Playgroud)

.net unit-testing xunit.net visual-studio test-explorer

12
推荐指数
1
解决办法
4846
查看次数

VS Code - 测试资源管理器不再显示任何测试。错误:“无法读取 null 的属性”

什么不起作用

在某些时候,过去显示在测试资源管理器中的测试列表现在不再出现。当我尝试刷新列表时,出现错误,表明系统在某处遇到空值。

我有以下设置:

VS代码

Version: 1.70.2 (user setup)
Commit: e4503b30fc78200f846c62cf8091b76ff5547662
Date: 2022-08-16T05:35:13.448Z
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: 10.0.139.17-electron.0
OS: Windows_NT x64 10.0.19044
Run Code Online (Sandbox Code Playgroud)

小部件解决方案设置:

我有一个主项目和一个测试项目,组织如下:

在此输入图像描述

Widgets.Server 项目文件:

这就是项目文件包含的部分内容 - 注意:平台

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net5.0-windows</TargetFramework>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <IsPackable>true</IsPackable>
Run Code Online (Sandbox Code Playgroud)

这是测试项目文件包含的内容 - 匹配平台:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net5.0-windows</TargetFramework>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <IsPackable>false</IsPackable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
    <PackageReference Include="TagLibSharp" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="coverlet.collector" Version="3.1.2">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Moq" …
Run Code Online (Sandbox Code Playgroud)

unit-testing test-explorer visual-studio-code

12
推荐指数
1
解决办法
1万
查看次数

是否可以使用ReSharper作为测试跑步者?

我真的不喜欢ReSharper(让我们不去讨论),但它的测试运行器比VS默认的Test Explorer更好.例如,VS不能很好地处理测试多态(甚至根本不处理),而ReSharper则可以.是否有可能以完全关闭的方式安装和配置ReSharper,除了它的测试运行器?

.net resharper unit-testing visual-studio test-explorer

10
推荐指数
1
解决办法
668
查看次数

从VS中的Test Explorer获取测试列表

这是一种"高级"/简单的问题.我正在尝试获取VS2012中我的测试资源管理器中填充的所有测试的列表.我想将它与测试列表进行比较,我想知道是否有任何方法可以从测试资源管理器中获取所有名称,例如复制/粘贴,导出到csv或任何此类性质.

testing coded-ui-tests visual-studio-2012 test-explorer

9
推荐指数
2
解决办法
2957
查看次数

如何修复 Visual Studio 中的 Specflow“&lt;unknown project&gt;”问题

背景

我一直在做一个项目,并注意到我的一个 Specflow 场景需要更新。

我更新了 Specflow Scenario,将其拆分为两个不同的场景(一个用于无效测试,另一个用于有效测试)。

在此之后,我重新生成了 feature.cs 文件,清理并重建了解决方案。

(我使用的是 Microsoft Visual Studio Enterprise 2019 版本 16.4.1)


问题

这是“未知项目”出现在我的测试资源管理器中的时候,它包含一个测试......我已经更改了一个测试。它无法运行,但也无法删除。

这是我所看到的:

在此处输入图片说明

我能够摆脱这种情况的唯一方法,至少在短时间内,是删除我的整个解决方案,然后再次将其拉回,这不太理想。

这是我尝试解决此问题的列表;

  • 将解决方案中的所有 Nuget 包更新到最新版本。
  • 重新启动测试资源管理器
  • 重新启动的 Visual Studio
  • 删除 feature.cs 文件并重新生成
  • 清洁和重建的解决方案
  • 更新了 Visual Studios(这似乎使这种情况出现的频率更高)
  • 删除了解决方案并将其拉回(在我必须更改现有测试然后重新启动 Visual Studios 之前,此方法有效)

有没有人以前见过这个,或者知道如何解决这个问题?

visual-studio test-explorer

9
推荐指数
1
解决办法
1212
查看次数

在 VS Code 的 .NET 测试资源管理器扩展中找不到测试

我在 .NET 测试资源管理器扩展中看不到我的测试。\n我已经配置了 settings.json

\n
{\n    "dotnet-test-explorer.testProjectPath": "**/*ComprasPrevidencia/ComprasPrevidencia.csproj",\n    "dotnet-test-explorer.autoWatch": true,\n    "dotnet-test-explorer.runInParallel": true \n}\n
Run Code Online (Sandbox Code Playgroud)\n

在终端,我成功搜索可用的测试:

\n
dotnet test -t -v=q\n
Run Code Online (Sandbox Code Playgroud)\n
\n

Os Testes a seguir est\xc3\xa3o dispon\xc3\xadveis:\nAcumulacao\nAcumulacaoRisco\nRisco

\n
\n

我的.csproj:

\n
<Project Sdk="Microsoft.NET.Sdk">\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <IsPackable>false</IsPackable>\n  </PropertyGroup>\n  <ItemGroup>\n     <PackageReference Include="nunit" Version="3.12.0"/>\n     <PackageReference Include="NUnit3TestAdapter" Version="3.15.1"/>\n     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0"/>\n     <PackageReference Include="Selenium.WebDriver" Version="3.141.0"/>\n     <PackageReference Include="Selenium.Support" Version="3.141.0"/>\n     <PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="85.0.4183.8700"/>\n     <PackageReference Include="ClosedXML_Excel" Version="1.0.0"/>\n     <PackageReference Include="ClosedXML" Version="0.95.3"/>\n     <PackageReference Include="SQL" Version="1.0.5075.31045"/>\n    <PackageReference Include="System.Data.SqlClient" Version="4.5.1" />\n </ItemGroup>\n</Project>\n
Run Code Online (Sandbox Code Playgroud)\n

VS 代码

\n

.net c# test-explorer visual-studio-code

9
推荐指数
1
解决办法
2338
查看次数

将环境变量传递给 Visual Studio 2019 中的测试

似乎是一个非常微不足道的问题,但令我惊讶的是,我发现网上没有提到这一点。

我有一个 Nunit 测试项目(别人写的,我不想改变太多),我需要调试。这些测试取决于它们使用 读取的环境变量Environment.GetEnvironmentVariable

我的问题是:在 Visual Studio 中调试测试时,有没有办法传递环境变量?

我知道我可以在通过Project Properties->Debug调试可执行项目时传递环境变量,但这在运行测试时不起作用(例如通过Test Explorer)。我也知道我可以通过.runsettings文件传递测试参数,但这些只能通过TestContext类访问。

nunit environment-variables visual-studio-debugging test-explorer visual-studio-2019

9
推荐指数
1
解决办法
2155
查看次数

Visual Studio 2012上的代码覆盖率VSMDI说"没有指定Id的测试"

我有一个仍在使用VSMDI文件的解决方案.

运行测试仍然正常,但是当我尝试分析所选测试的代码覆盖率时,它显示"生成空结果".

从测试中查看输出日志,它显示"没有指定Id {09c3a333-1a28-27bf-2d79-8f6aa8fe5e3a}的测试."

从我看到的,提到的Id是VSMDI文件中的测试ID

有人为什么会这样?

mstest visual-studio-2012 test-explorer

8
推荐指数
0
解决办法
669
查看次数

我希望Canopy网络测试结果能够在VS 2013测试资源管理器中显示...而且我很接近

我正在试图弄清楚如何让Canopy的测试结果显示在VS测试资源管理器中.我可以让我的测试出现,它会运行它们,但它总是显示通过.似乎Run()函数正在"吃掉"结果,所以VS永远不会看到失败.

我确信Canopy如何很好地解释它进入测试结果的异常之间存在冲突,因为通常你希望Run()无论结果如何都能成功并使用自己的报告报告其结果.

也许我应该重定向输出并在MS测试代码中解释它?

所以这就是我现在设置的方式......

Visual Studio Test Runner查看此文件以查看其所见的测试,这些调用称为执行实际测试的canopy方法.

open canopy
open runner
open System
open Microsoft.VisualStudio.TestTools.UnitTesting

[<TestClass>]
type testrun() = 

    // Look in the output directory for the web drivers    
    [<ClassInitialize>]
    static member public setup(context : TestContext) =
        // Look in the output directory for the web drivers    
        canopy.configuration.ieDir <- "."
        canopy.configuration.chromeDir <- "."

        // start an instance of the browser
        start ie
        ()

    [<TestMethod>]
    member x.LocationNoteTest() =
        let myTestModule = new myTestModule()
        myTestModule.all()
        run()


    [<ClassCleanup>]
    static member public cleanUpAfterTesting() …
Run Code Online (Sandbox Code Playgroud)

f# test-explorer visual-studio-2013 canopy-web-testing

8
推荐指数
1
解决办法
581
查看次数

Visual Studio 2022 - 测试资源管理器显示测试运行已完成,但测试未执行

我正在从 VS2019 升级到 VS2022。我们已经编写了大约 1000 多个测试用例,我们可以在 VS2017 和 VS2019 上执行这些测试用例,但是当我在 VS2022 中打开项目时,测试用例不会运行。花费时间不到一毫秒,状态栏显示“测试运行已完成 0 次测试,(0 次通过,0 次失败,0 次在 <1 毫秒内跳过运行”

单击该图标后,文本资源管理器广告上报告了 1 个错误图标,或者当我尝试“调试”单个测试时,我在输出窗口中收到以下错误

Building Test Projects
Starting test discovery for requested test run
========== Starting test discovery ==========
System.IO.FileNotFoundException: Could not load file or assembly 'System.Text.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Text.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
   at Microsoft.Extensions.DependencyModel.DependencyContextJsonReader.Read(Stream stream)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostPath(String runtimeConfigDevPath, String depsFilePath, String sourceDirectory) in /_/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs:line 763
   at …
Run Code Online (Sandbox Code Playgroud)

test-explorer visual-studio-2022

8
推荐指数
1
解决办法
1335
查看次数