测试文件夹不断在.NET 6中的同一目录中创建

发布于 2025-02-08 17:09:19 字数 4421 浏览 0 评论 0原文

我有一个.NET 6 Web API Project MAIN,在其中我有一个名为tests的文件夹,我保留所有测试,解决方案看起来像这样:
main.sln

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "main", "main.csproj", "{218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{08294007-70CB-4095-847B-1219FA1E7DBA}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Release|Any CPU.Build.0 = Release|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
EndGlobal

main.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <RootNamespace>cuzzle_api</RootNamespace>
    <IsTestProject>false</IsTestProject>

    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.5" />
    <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.17.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
    <PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.2" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.17.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
  </ItemGroup>

</Project>

tests.csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>

    <IsPackable>false</IsPackable>
    <IsTestProject>true</IsTestProject>

    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>   
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <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.0">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

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

</Project>

每次我运行测试,文件夹bin和obj fromTests 正在反复创建类似的情况:

~/main/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests

我的解决方案或CSPROJ文件我做错了什么?还是可以这样创建可以?

I have a .NET 6 web api project main and inside that I have a folder named Tests where I keep all my tests, the solutions looks like this:
main.sln:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "main", "main.csproj", "{218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{08294007-70CB-4095-847B-1219FA1E7DBA}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {218486FE-31A5-45A1-A6EC-3AD4D3ED9E6D}.Release|Any CPU.Build.0 = Release|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {08294007-70CB-4095-847B-1219FA1E7DBA}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
EndGlobal

main.csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <RootNamespace>cuzzle_api</RootNamespace>
    <IsTestProject>false</IsTestProject>

    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.5" />
    <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.17.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
    <PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.2" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.17.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
  </ItemGroup>

</Project>

and Tests.csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>

    <IsPackable>false</IsPackable>
    <IsTestProject>true</IsTestProject>

    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>   
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <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.0">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

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

</Project>

The thing is every time I run the tests, folders bin and obj from Tests are being created recursevely like this:

~/main/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests/bin/Debug/net6.0/Tests

What am I doing wrong with my solution or csproj files? or is it ok to be created like this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文