在VS代码的.NET测试资源管理器扩展中未找到测试

mwecs4sa  于 2023-04-07  发布在  .NET
关注(0)|答案(3)|浏览(202)

bounty将在5小时后到期。回答此问题可获得+500声望奖励。Stewart正在寻找来自信誉良好的来源的答案:我也有这个问题,并没有在互联网上找到解决方案. Settings.容斯包含:“dotnet-test-explorer.testProjectPath”:“**/*Tests.csproj”,

我无法在.NET测试资源管理器扩展中查看我的测试。我已经配置了settings.json

{
    "dotnet-test-explorer.testProjectPath": "**/*ComprasPrevidencia/ComprasPrevidencia.csproj",
    "dotnet-test-explorer.autoWatch": true,
    "dotnet-test-explorer.runInParallel": true 
}

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

dotnet test -t -v=q

Os Testes a seguir estão disponíveis:里斯科
My .csproj:

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

ubof19bj

ubof19bj1#

我觉得属性"dotnet-test-explorer.testProjectPath"需要所需csproj文件的父文件夹的相对路径。这对我来说一直很有效。扩展扫描文件夹中匹配路径内的所有csproj文件,并找到包含单元测试的所需项目。
因此,如果您的工作目录如下所示

.
├── MyCoreLib
│   ├── MyCoreLib.csproj
│   └── Lib.cs
├── SomeOtherProj
│   ├── SomeOtherProj.csproj
│   └── OtherProjFile.cs
└── MyTestLib
    ├── MyTestLib.csproj
    └── UnitTests.cs

这里,测试项目的父文件夹的路径是MyTestLib/,因此用户设置文件(包含在.vscode/setting.json中)应该包含

{
    "dotnet-test-explorer.testProjectPath": "MyTestLib/" 
    // Relative path of parent folder only
}

这样一来,扩展就可以正常工作了。

ruarlubt

ruarlubt2#

这可能是一个类似的主题。它似乎是通过以下方式解决的。
Reference Answer
解决办法:将树视图更改为“平面”
使用"dotnet-test-explorer.treeMode": "flat"更新settings.json

yrdbyhpb

yrdbyhpb3#

我已经找到了问题+解决方案。
在课堂上

Acme/Test/AcmeTests.cs

有一个类的引用

Acme/Acme.cs

但没有对应的
使用Acme;

Acme/Acme.Tests.csproj

需要

<ItemGroup>
    <ProjectReference Include="..\Acme\Acme.csproj" />
</ItemGroup>

我认为VS Code没有抱怨这一点,因为这两个.csproj文件不是.sln的一部分。
无论如何,由于这个损坏的测试配置,所有的测试都没有被找到。一旦修复,VS Code就能够找到所有的测试。

相关问题