generated from dailydevops/dotnet-template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
type:choreIndicates some housework that needs to be done.Indicates some housework that needs to be done.
Description
Objective
Creation of a new project for integration tests for the NetEvolve.CodeBuilder library.
Project Details
- Project Name:
NetEvolve.CodeBuilder.Tests.Integration
- Test Framework: TUnit
- Additional Library: Verify.TUnit
- Placement: According to the folder structure decision under
tests/
Requirements
- Comply with the folder structure decision (2025-07-10-folder-structure-and-naming-conventions.md)
- Adhere to C# development guidelines, particularly:
- Use of C# 13
- Use of TUnit framework
- Use of Verify.TUnit library for snapshot tests
- No mocking frameworks
Project Structure
tests/
├── NetEvolve.CodeBuilder.Tests.Unit/ # Existing
└── NetEvolve.CodeBuilder.Tests.Integration/ # To be created
Project File
The project file should be structured similar to the existing unit test project file:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(_TestTargetFrameworks)</TargetFrameworks>
<OutputType>Exe</OutputType>
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
<NoWarn>$(NoWarn);CA2000;S2930</NoWarn>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" />
<PackageReference Include="NetEvolve.Extensions.TUnit" />
<PackageReference Include="TUnit" />
<PackageReference Include="Verify.TUnit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\NetEvolve.CodeBuilder\NetEvolve.CodeBuilder.csproj" />
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="NetEvolve.Extensions.TUnit.IntegrationTestAttribute" />
</ItemGroup>
</Project>
Update Directory.Packages.props
The Directory.Packages.props file needs to be extended with the Verify.TUnit packages:
<ItemGroup>
<!-- Existing entries -->
<PackageVersion Include="Verify.TUnit" Version="[current version]" />
</ItemGroup>
Test Coverage
- Create end-to-end tests for the CodeBuilder classes
- Test the generation of complex code blocks
- Verify formatting options
- Verify generated outputs using snapshot tests
Notes
- Do not use "Act", "Arrange", "Assert" comments in tests
- Apply integration test attributes correctly
- Follow naming conventions from existing tests
Copilot
Metadata
Metadata
Assignees
Labels
type:choreIndicates some housework that needs to be done.Indicates some housework that needs to be done.