Skip to content

Commit 8d45d18

Browse files
authored
#175 - Refactoring to xunit.v3 +semver:none (#176)
* #175 - change packages to v3 * #175 - enable MTP runner * #175 - fix build * #175 - update ci/cd
1 parent 4949d3f commit 8d45d18

File tree

14 files changed

+32
-64
lines changed

14 files changed

+32
-64
lines changed

.github/workflows/develop.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ jobs:
5252
- name: Build
5353
run: dotnet build /p:Version=${{ steps.version_step.outputs.fullSemVer }} --no-restore -c Debug -v n
5454
- name: Unit Tests
55-
run: dotnet test -c Debug --no-build -v n --filter="Category=Unit"
55+
run: dotnet test -c Debug --no-build -v n -- --filter-trait Category=Unit --ignore-exit-code 8
5656
- name: Integration Tests
5757
run: |
58-
dotnet test -c Debug /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --no-build -v n --filter="Category=Integration"
58+
dotnet test tests/HydraScript.IntegrationTests -c Debug --no-build -v n -- --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml
5959
mkdir coverage-report
6060
- name: Code Coverage Summary Report For Merge Request
6161
if: github.event_name == 'pull_request'
6262
uses: 5monkeys/cobertura-action@master
6363
with:
64-
path: ./tests/HydraScript.IntegrationTests/coverage.cobertura.xml
64+
path: ./tests/HydraScript.IntegrationTests/bin/Debug/net9.0/TestResults/coverage.cobertura.xml
6565
repo_token: ${{ secrets.GITHUB_TOKEN }}
6666
minimum_coverage: 80
6767
fail_below_threshold: true
@@ -73,7 +73,7 @@ jobs:
7373
- name: ReportGenerator
7474
uses: danielpalme/[email protected]
7575
with:
76-
reports: './tests/HydraScript.IntegrationTests/coverage.cobertura.xml'
76+
reports: './tests/HydraScript.IntegrationTests/bin/Debug/net9.0/TestResults/coverage.cobertura.xml'
7777
targetdir: './coverage-report'
7878
- name: Upload coverage report artifact
7979
if: github.event_name == 'push'

tests/Directory.Build.props

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@
33

44
<PropertyGroup>
55
<IsTestProject>true</IsTestProject>
6+
<OutputType>Exe</OutputType>
7+
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
8+
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
69
</PropertyGroup>
710

811
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" />
10-
<PackageReference Include="xunit" />
11-
<PackageReference Include="xunit.runner.visualstudio">
12-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
13-
<PrivateAssets>all</PrivateAssets>
14-
</PackageReference>
12+
<PackageReference Include="xunit.v3" />
1513
<PackageReference Include="NSubstitute" />
1614
</ItemGroup>
1715

tests/Directory.Packages.props

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,16 @@
22
<ItemGroup>
33
<PackageVersion Include="AutoFixture" Version="4.18.1" />
44
<PackageVersion Include="AutoFixture.AutoNSubstitute" Version="4.18.1" />
5-
<PackageVersion Include="AutoFixture.Xunit2" Version="4.18.1" />
6-
<PackageVersion Include="coverlet.collector" Version="6.0.4">
7-
<PrivateAssets>all</PrivateAssets>
8-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
9-
</PackageVersion>
10-
<PackageVersion Include="coverlet.msbuild" Version="6.0.4">
11-
<PrivateAssets>all</PrivateAssets>
12-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
13-
</PackageVersion>
5+
<PackageVersion Include="AutoFixture.Xunit3" Version="4.19.0" />
146
<PackageVersion Include="Fare" Version="2.2.1" />
157
<PackageVersion Include="AwesomeAssertions" Version="8.2.0" />
16-
<PackageVersion Include="MartinCostello.Logging.XUnit" Version="0.5.1" />
8+
<PackageVersion Include="MartinCostello.Logging.XUnit.v3" Version="0.6.0" />
179
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.13.0" />
1810
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="9.4.0" />
19-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
11+
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.14.2" />
2012
<PackageVersion Include="NSubstitute" Version="5.3.0" />
2113
<PackageVersion Include="PolymorphicContracts.AutoFixture" Version="2.0.0" />
2214
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
23-
<PackageVersion Include="xunit" Version="2.9.3" />
24-
<PackageVersion Include="Xunit.DependencyInjection" Version="9.9.0" />
25-
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0">
26-
<PrivateAssets>all</PrivateAssets>
27-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
28-
</PackageVersion>
15+
<PackageVersion Include="xunit.v3" Version="3.0.1" />
2916
</ItemGroup>
3017
</Project>

tests/HydraScript.Infrastructure.LexerRegexGenerator.UnitTests/PatternGeneratorTests.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Microsoft.CodeAnalysis.CSharp;
55
using NSubstitute;
66
using Xunit;
7-
using Xunit.Abstractions;
87

98
namespace HydraScript.Infrastructure.LexerRegexGenerator.UnitTests;
109

@@ -13,6 +12,7 @@ public class PatternGeneratorTests(ITestOutputHelper output)
1312
[Fact, Trait("Category", "Unit")]
1413
public void Initialize_PatternContainerMarked_CorrectlyGenerated()
1514
{
15+
var ct = TestContext.Current.CancellationToken;
1616
var provider = Substitute.For<ITokenTypesStreamProvider>();
1717
provider.TokenTypesStream.Returns(
1818
[
@@ -25,8 +25,11 @@ public void Initialize_PatternContainerMarked_CorrectlyGenerated()
2525
};
2626
GeneratorDriver driver = CSharpGeneratorDriver.Create(generator);
2727

28-
driver = driver.RunGeneratorsAndUpdateCompilation(CreateCompilation(string.Empty), out var outputCompilation,
29-
out var diagnostics);
28+
driver = driver.RunGeneratorsAndUpdateCompilation(
29+
CreateCompilation(string.Empty),
30+
out var outputCompilation,
31+
out var diagnostics,
32+
ct);
3033
Debug.Assert(diagnostics.IsEmpty);
3134
Debug.Assert(outputCompilation.SyntaxTrees.Count() == 2);
3235

@@ -51,10 +54,10 @@ internal partial class PatternContainer
5154
5255
"""";
5356

54-
output.WriteLine(generatedFileSyntax.GetText().ToString());
57+
output.WriteLine(generatedFileSyntax.GetText(ct).ToString());
5558
Assert.Equal(
5659
expectedSource,
57-
generatedFileSyntax.GetText().ToString(),
60+
generatedFileSyntax.GetText(ct).ToString(),
5861
ignoreLineEndingDifferences: true);
5962
}
6063

tests/HydraScript.IntegrationTests/HydraScript.IntegrationTests.csproj

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,9 @@
66

77
<ItemGroup>
88
<PackageReference Include="AwesomeAssertions" />
9-
<PackageReference Include="MartinCostello.Logging.XUnit" />
9+
<PackageReference Include="MartinCostello.Logging.XUnit.v3" />
1010
<PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" />
11-
<PackageReference Include="Xunit.DependencyInjection" />
12-
<PackageReference Include="coverlet.collector">
13-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14-
<PrivateAssets>all</PrivateAssets>
15-
</PackageReference>
16-
<PackageReference Include="coverlet.msbuild">
17-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18-
<PrivateAssets>all</PrivateAssets>
19-
</PackageReference>
11+
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" />
2012
</ItemGroup>
2113

2214
<ItemGroup>

tests/HydraScript.IntegrationTests/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
This file was deleted.

tests/HydraScript.IntegrationTests/Startup.cs

Lines changed: 0 additions & 7 deletions
This file was deleted.

tests/HydraScript.IntegrationTests/TestHostFixture.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,10 @@
44
using Microsoft.Extensions.DependencyInjection;
55
using Microsoft.Extensions.Logging;
66
using NSubstitute;
7-
using Xunit.Abstractions;
87

98
namespace HydraScript.IntegrationTests;
109

11-
public class TestHostFixture(
12-
Xunit.DependencyInjection.ITestOutputHelperAccessor accessor) :
13-
IDisposable, ITestOutputHelperAccessor
10+
public class TestHostFixture : IDisposable, ITestOutputHelperAccessor
1411
{
1512
public record Options(
1613
string FileName = ScriptFileName + ".js",
@@ -37,7 +34,7 @@ public void Dispose()
3734

3835
public ITestOutputHelper? OutputHelper
3936
{
40-
get => accessor.Output;
37+
get => TestContext.Current.TestOutputHelper;
4138
set { }
4239
}
4340

tests/HydraScript.UnitTests/AutoHydraScriptDataAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using AutoFixture;
22
using AutoFixture.AutoNSubstitute;
3-
using AutoFixture.Xunit2;
3+
using AutoFixture.Xunit3;
44
using HydraScript.Domain.FrontEnd.Lexer;
55
using HydraScript.Domain.FrontEnd.Lexer.Impl;
66
using HydraScript.Domain.IR;

tests/HydraScript.UnitTests/Domain/BackEnd/VirtualMachineTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using AutoFixture.Xunit2;
1+
using AutoFixture.Xunit3;
22
using HydraScript.Domain.BackEnd;
33
using HydraScript.Domain.BackEnd.Impl;
44
using HydraScript.Domain.BackEnd.Impl.Addresses;

0 commit comments

Comments
 (0)