NuGet / Home

Repo for NuGet Client issues
Other
1.5k stars 252 forks source link

Test.Utility has too many dependencies, making tests requiring compilation of the whole tree #13172

Open nkolev92 opened 10 months ago

nkolev92 commented 10 months ago

Test.Utility depends on:

    <ProjectReference Include="..\..\..\src\NuGet.Clients\NuGet.CommandLine\NuGet.CommandLine.csproj" />
    <ProjectReference Include="..\..\..\src\NuGet.Clients\NuGet.PackageManagement.VisualStudio\NuGet.PackageManagement.VisualStudio.csproj" />
    <ProjectReference Include="..\..\..\src\NuGet.Clients\NuGet.VisualStudio.Common\NuGet.VisualStudio.Common.csproj" />
    <ProjectReference Include="..\..\..\src\NuGet.Core\NuGet.Commands\NuGet.Commands.csproj" />
    <ProjectReference Include="..\..\..\src\NuGet.Core\NuGet.Resolver\NuGet.Resolver.csproj" />
    <ProjectReference Include="..\..\..\src\NuGet.Core\NuGet.PackageManagement\NuGet.PackageManagement.csproj" />

This is probably like 30 projects.

NuGet.Versioning does not have any dependencies.

NuGet.Versioning.Test for example, depends on Test.Utility, which effectively means, NuGet.Versioning.Test, depends on 31 projects.

This is unnecessary, and makes test running slower. We need a better pattern than just having everything dependency on Test.Utility.

Ideas:

nkolev92 commented 10 months ago

cc @kartheekp-ms Not sure which discussion this falls into, but this is tech debt too.