|
1 | 1 | <Project Sdk="Microsoft.NET.Sdk">
|
2 | 2 |
|
3 | 3 | <PropertyGroup>
|
| 4 | + <OutputType>Exe</OutputType> |
4 | 5 | <TargetFramework>net8.0</TargetFramework>
|
5 | 6 | <Nullable>enable</Nullable>
|
6 | 7 | </PropertyGroup>
|
7 | 8 |
|
8 | 9 | <ItemGroup>
|
9 | 10 | <PackageReference Include="AwesomeAssertions" Version="8.1.0" />
|
10 |
| - <PackageReference Include="coverlet.collector" Version="6.0.4" PrivateAssets="all" /> |
11 |
| - <PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" PrivateAssets="all" /> |
12 |
| - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> |
| 11 | + <PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.14.2" /> |
| 12 | + <PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.6.3" /> |
13 | 13 | <PackageReference Include="PublicApiGenerator" Version="11.4.5" />
|
14 | 14 | <PackageReference Include="ReportGenerator" Version="5.4.5" PrivateAssets="all" />
|
15 | 15 | <PackageReference Include="Serilog" Version="4.2.0" />
|
16 | 16 | <PackageReference Include="Serilog.Enrichers.Environment" Version="3.0.1" />
|
17 | 17 | <PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />
|
18 | 18 | <PackageReference Include="Verify.XunitV3" Version="29.2.0" />
|
19 | 19 | <PackageReference Include="xunit.v3" Version="2.0.1" />
|
20 |
| - <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2" PrivateAssets="all" /> |
21 | 20 | </ItemGroup>
|
22 | 21 |
|
23 |
| - <ItemGroup> |
24 |
| - <VSTestLogger Include="GitHubActions%3Bsummary.includePassedTests=true%3Bsummary.includeSkippedTests=true" Visible="false" Condition="$(GITHUB_STEP_SUMMARY) != ''" /> |
25 |
| - <VSTestLogger Include="trx%3BLogFileName=TestResults-$(TargetFramework).trx" Visible="false" Condition="$(ContinuousIntegrationBuild) == 'true'" /> |
26 |
| - <VSTestLogger Include="html%3BLogFileName=TestResults-$(TargetFramework).html" Visible="false" /> |
27 |
| - </ItemGroup> |
| 22 | + <PropertyGroup Label="xUnit"> |
| 23 | + <UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner> |
| 24 | + <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport> |
| 25 | + </PropertyGroup> |
28 | 26 |
|
29 | 27 | <PropertyGroup Label="Coverage">
|
30 | 28 | <RootDirectory>$([System.IO.Directory]::GetParent($(MSBuildProjectDirectory)))</RootDirectory>
|
31 |
| - <CoverageReportDirectory>$([System.IO.Path]::Combine($(RootDirectory),'coverage',$(TargetFramework)))</CoverageReportDirectory> |
32 |
| - <VSTestResultsDirectory Condition="$(ContinuousIntegrationBuild) == 'true'">$(RootDirectory)</VSTestResultsDirectory> |
33 |
| - <VSTestResultsDirectory Condition="$(ContinuousIntegrationBuild) != 'true'">$([System.IO.Path]::Combine($(CoverageReportDirectory),'results'))</VSTestResultsDirectory> |
34 |
| - <VSTestCollect>XPlat Code Coverage</VSTestCollect> |
35 |
| - <VSTestLogger>@(VSTestLogger)</VSTestLogger> |
| 29 | + <CoverageReportDirectory>$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine($(RootDirectory),'coverage',$(TargetFramework)))))</CoverageReportDirectory> |
| 30 | + <CoverageReportFile>$([System.IO.Path]::Combine($(CoverageReportDirectory),'$(MSBuildProjectName).cobertura.xml'))</CoverageReportFile> |
| 31 | + <ArgsCoverage>--coverage --coverage-output-format cobertura --coverage-output $(CoverageReportFile)</ArgsCoverage> |
| 32 | + <ArgsTrx Condition="$(ContinuousIntegrationBuild) == 'true'"> --report-trx --report-trx-filename $(MSBuildProjectName).trx --results-directory $(RootDirectory)</ArgsTrx> |
| 33 | + <TestingPlatformCommandLineArguments>$(ArgsCoverage)$(ArgsTrx)</TestingPlatformCommandLineArguments> |
36 | 34 | </PropertyGroup>
|
37 | 35 |
|
38 |
| - <Target Name="GenerateHtmlCoverageReport" AfterTargets="VSTest" Condition="$(TargetFramework) != ''"> |
| 36 | + <Target Name="GenerateCoverageReports" AfterTargets="VSTest" Condition="$(TargetFramework) != ''"> |
39 | 37 | <ItemGroup>
|
40 |
| - <CoverageReport Include="$(VSTestResultsDirectory)/*/coverage.cobertura.xml" /> |
| 38 | + <CoverageReport Include="$(CoverageReportDirectory)/*.cobertura.xml" /> |
41 | 39 | </ItemGroup>
|
42 | 40 | <ReportGenerator ReportFiles="@(CoverageReport)" TargetDirectory="$(CoverageReportDirectory)" ReportTypes="Html;TextSummary" />
|
43 | 41 | </Target>
|
44 | 42 |
|
45 |
| - <!-- Because of https://github.com/microsoft/vstest/issues/2378 --> |
46 |
| - <Target Name="MoveCoverageReport" AfterTargets="GenerateHtmlCoverageReport" Condition="$(TargetFramework) != ''"> |
47 |
| - <Move SourceFiles="@(CoverageReport)" DestinationFolder="$(CoverageReportDirectory)" /> |
48 |
| - <PropertyGroup> |
49 |
| - <CoverageReport>@(CoverageReport)</CoverageReport> |
50 |
| - </PropertyGroup> |
51 |
| - <ItemGroup> |
52 |
| - <CoverageReportParentDirectory Include="$([System.IO.Path]::Combine($(CoverageReport),'..'))" Condition="$(CoverageReport) != ''" /> |
53 |
| - </ItemGroup> |
54 |
| - <RemoveDir Directories="@(CoverageReportParentDirectory)" /> |
55 |
| - </Target> |
56 |
| - |
57 |
| - <Target Name="DisplayCoverageSummary" AfterTargets="MoveCoverageReport" Condition="$(TargetFramework) != ''"> |
| 43 | + <Target Name="DisplayCoverageSummary" AfterTargets="GenerateCoverageReports" Condition="$(TargetFramework) != ''"> |
58 | 44 | <PropertyGroup>
|
59 | 45 | <CatCommand Condition="!$([MSBuild]::IsOSPlatform('Windows'))">cat</CatCommand>
|
60 | 46 | <CatCommand Condition="$([MSBuild]::IsOSPlatform('Windows'))">type</CatCommand>
|
61 | 47 | </PropertyGroup>
|
62 | 48 | <Exec WorkingDirectory="$(CoverageReportDirectory)" Command="$(CatCommand) Summary.txt" />
|
63 | 49 | </Target>
|
64 |
| - |
65 |
| - <Target Name="OpenHtmlCoverageReport" AfterTargets="MoveCoverageReport" Condition="$(TargetFramework) != '' AND $(ContinuousIntegrationBuild) != 'true'"> |
| 50 | + |
| 51 | + <Target Name="OpenHtmlCoverageReport" AfterTargets="DisplayCoverageSummary" Condition="$(TargetFramework) != '' AND $(ContinuousIntegrationBuild) != 'true'"> |
66 | 52 | <PropertyGroup>
|
67 | 53 | <OpenCommand Condition="$([MSBuild]::IsOSPlatform('Linux'))">xdg-open</OpenCommand>
|
68 | 54 | <OpenCommand Condition="$([MSBuild]::IsOSPlatform('OSX'))">open</OpenCommand>
|
|
0 commit comments