|
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.6" /> |
14 | 14 | <PackageReference Include="ReportGenerator" Version="5.4.6" 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="30.0.0" /> |
19 | 19 | <PackageReference Include="xunit.v3" Version="2.0.2" /> |
20 | | - <PackageReference Include="xunit.runner.visualstudio" Version="3.1.0" 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="HtmlInline;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