Unable to detect unit tests in project with multiple package.json files
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- angular, csharp, javascript, node.js
- Ambito
- testing-qa
Direzione di ricerca
Inizia riproducendo il progetto ASP.NET Core with Angular descritto nell’issue, inclusi i file package.json nella root e in ClientApp e la configurazione JavaScriptTestRoot. Esamina come l’integrazione Microsoft.JavaScript.UnitTest rileva i test per il progetto e verifica il risultato in Test Explorer. Il lavoro è completato quando i test unitari Karma/Jasmine vengono rilevati con entrambi i file package.json presenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Expected Behavior
Unit tests are found when multiple package.json files exist in the project.
Actual Behavior
- NTVS Version: 1.5.10610.1
- Visual Studio Version: 2022 17.7.6
- Node.js Version: 20.8.1
Steps to Reproduce
- Create a project using the ASP.NET Core with Angular template
- Add a package.json at the root level of the project, now the folder structure should look as follows (excerpt):
MyProject/ ├─ ClientApp/ │ ├─ package.json ├─ Controllers/ ├─ Pages/ ├─ wwwroot/ ├─ package.json ├─ Program.cs - Edit the project configuration for unit testing with Karma/Jasmine:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<SpaRoot>ClientApp\</SpaRoot>
<SpaProxyServerUrl>https://localhost:44445</SpaProxyServerUrl>
<SpaProxyLaunchCommand>npm start</SpaProxyLaunchCommand>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Unit tests -->
<JavaScriptTestRoot>ClientApp\</JavaScriptTestRoot>
<JavaScriptTestFramework>Jasmine</JavaScriptTestFramework>
<GenerateProgramFile>false</GenerateProgramFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.SpaProxy" Version="7.0.13" />
<PackageReference Include="Microsoft.JavaScript.UnitTest" Version="1.5.10610.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<!-- Don't publish the SPA source files, but do show them in the project files list -->
<Content Remove="$(SpaRoot)**" />
<None Remove="$(SpaRoot)**" />
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
</ItemGroup>
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
<!-- Ensure Node.js is installed -->
<Exec Command="node --version" ContinueOnError="true">
<Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>
<Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
</Target>
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --configuration production" />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>wwwroot\%(RecursiveDir)%(FileName)%(Extension)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
</Project>
- Reload the project
- Notice the Test Explorer is unable to find any tests
- Lingua principale
- C#
- Stelle
- 1.8k
- Fork
- 355
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/nodejstools
-
microsoft/nodejstools#2523 · 1 reazione · 1 assegnatario ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
microsoft/nodejstools#2519 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
microsoft/nodejstools#2517 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
microsoft/nodejstools#2514 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
microsoft/nodejstools#2513 · 5 commenti ·
Tutte le issue di microsoft/nodejstools
Issue simili
-
type/automation type/tech-debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
t/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
ci-failure-cause test-failure
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
area:auth FE mvp P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
klasolsson81/jobbliggaren#1788 ·