Skip to content

Commit 330949a

Browse files
authored
feat: Support .NET 6 with TUnit (#735)
* feat: Support .NET 6 with TUnit * chore(deps): Updated all packages
1 parent 9b66241 commit 330949a

File tree

5 files changed

+163
-18
lines changed

5 files changed

+163
-18
lines changed

Directory.Packages.props

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,30 @@
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
55
</PropertyGroup>
66
<ItemGroup>
7-
<GlobalPackageReference Include="CSharpier.MSBuild" Version="1.0.2" />
8-
<GlobalPackageReference Include="GitVersion.MsBuild" Version="6.1.0" />
7+
<GlobalPackageReference Include="CSharpier.MSBuild" Version="1.1.2" />
8+
<GlobalPackageReference Include="GitVersion.MsBuild" Version="6.4.0" />
99
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="4.14.0" />
1010
<GlobalPackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0" />
1111
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1212
<GlobalPackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15" />
13-
<GlobalPackageReference Include="NetEvolve.Defaults" Version="1.3.108" />
14-
<GlobalPackageReference Include="Roslynator.Analyzers" Version="4.13.1" />
15-
<GlobalPackageReference
16-
Include="SonarAnalyzer.CSharp"
17-
Version="10.6.0.109712"
18-
Condition=" '$(BuildingInsideVisualStudio)' == 'true' "
19-
/>
13+
<GlobalPackageReference Include="NetEvolve.Defaults" Version="1.4.0" />
14+
<GlobalPackageReference Include="Roslynator.Analyzers" Version="4.14.0" />
15+
<GlobalPackageReference Include="SonarAnalyzer.CSharp" Version="10.15.0.120848" />
2016
</ItemGroup>
2117
<ItemGroup>
2218
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
2319
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
2420
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
2521
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.14.2" />
2622
<PackageVersion Include="Microsoft.TestPlatform.TestHost" Version="17.14.1" />
27-
<PackageVersion Include="MSTest.TestAdapter" Version="3.9.2" />
23+
<PackageVersion Include="MSTest.TestAdapter" Version="3.10.2" />
2824
<PackageVersion Include="MSTest.TestFramework" Version="3.10.2" />
2925
<PackageVersion Include="NUnit" Version="4.4.0" />
3026
<PackageVersion Include="NUnit3TestAdapter" Version="5.1.0" />
3127
<PackageVersion Include="NUnit.Analyzers" Version="4.10.0" />
3228
<PackageVersion Include="PublicApiGenerator" Version="11.4.6" />
33-
<PackageVersion Include="TUnit" Version="0.56.44" />
34-
<PackageVersion Include="TUnit.Core" Version="0.56.50" />
29+
<PackageVersion Include="TUnit" Version="0.57.1" />
30+
<PackageVersion Include="TUnit.Core" Version="0.57.1" />
3531
<PackageVersion Include="Verify.MSTest" Version="30.7.3" />
3632
<PackageVersion Include="Verify.NUnit" Version="30.7.3" />
3733
<PackageVersion Include="Verify.TUnit" Version="30.7.3" />
@@ -40,7 +36,7 @@
4036
<PackageVersion Include="xunit" Version="2.9.3" />
4137
<PackageVersion Include="xunit.extensibility.core" Version="2.9.3" />
4238
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
43-
<PackageVersion Include="xunit.v3" Version="3.0.0" />
39+
<PackageVersion Include="xunit.v3" Version="3.0.1" />
4440
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.0.1" />
4541
</ItemGroup>
4642
</Project>

src/NetEvolve.Extensions.TUnit/NetEvolve.Extensions.TUnit.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
4-
</PropertyGroup>
5-
<PropertyGroup>
3+
<TargetFrameworks>net6.0;net8.0;net9.0</TargetFrameworks>
64
<PackageTags>$(PackageTags);tunit</PackageTags>
5+
<CheckEolTargetFramework>false</CheckEolTargetFramework>
76
</PropertyGroup>
87
<ItemGroup>
98
<PackageReference Include="TUnit.Core" />

tests/NetEvolve.Extensions.TUnit.Tests.PublicApi/NetEvolve.Extensions.TUnit.Tests.PublicApi.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
3+
<TargetFrameworks>net6.0;net8.0;net9.0</TargetFrameworks>
44
<OutputType>Exe</OutputType>
5+
<CheckEolTargetFramework>false</CheckEolTargetFramework>
56
</PropertyGroup>
67
<ItemGroup>
78
<PackageReference Include="coverlet.collector" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
namespace NetEvolve.Extensions.TUnit
2+
{
3+
public sealed class AcceptanceTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
4+
{
5+
public AcceptanceTestAttribute() { }
6+
}
7+
public sealed class ArchitectureTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
8+
{
9+
public ArchitectureTestAttribute() { }
10+
}
11+
public sealed class BugAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
12+
{
13+
public BugAttribute() { }
14+
public BugAttribute(long id) { }
15+
public BugAttribute(string? id) { }
16+
}
17+
public sealed class CodedUITestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
18+
{
19+
public CodedUITestAttribute() { }
20+
}
21+
public sealed class EndToEndTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
22+
{
23+
public EndToEndTestAttribute() { }
24+
}
25+
public sealed class EpicAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
26+
{
27+
public EpicAttribute() { }
28+
public EpicAttribute(long id) { }
29+
public EpicAttribute(string? id) { }
30+
}
31+
public sealed class FeatureAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
32+
{
33+
public FeatureAttribute() { }
34+
public FeatureAttribute(long id) { }
35+
public FeatureAttribute(string? id) { }
36+
}
37+
public sealed class FunctionalTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
38+
{
39+
public FunctionalTestAttribute() { }
40+
}
41+
public sealed class IntegrationTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
42+
{
43+
public IntegrationTestAttribute() { }
44+
}
45+
public sealed class IssueAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
46+
{
47+
public IssueAttribute() { }
48+
public IssueAttribute(long id) { }
49+
public IssueAttribute(string? id) { }
50+
}
51+
public sealed class PerformanceTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
52+
{
53+
public PerformanceTestAttribute() { }
54+
}
55+
public sealed class PostDeploymentAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
56+
{
57+
public PostDeploymentAttribute() { }
58+
}
59+
public sealed class PreDeploymentAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
60+
{
61+
public PreDeploymentAttribute() { }
62+
}
63+
public sealed class TestGroupAttribute : NetEvolve.Extensions.TUnit.Internal.NamedCategoryTraitBaseAttribute
64+
{
65+
public TestGroupAttribute(string id) { }
66+
}
67+
public sealed class UnitTestAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryTraitBaseAttribute
68+
{
69+
public UnitTestAttribute() { }
70+
}
71+
public sealed class UserStoryAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
72+
{
73+
public UserStoryAttribute() { }
74+
public UserStoryAttribute(long id) { }
75+
public UserStoryAttribute(string? id) { }
76+
}
77+
public sealed class WorkItemAttribute : NetEvolve.Extensions.TUnit.Internal.CategoryWithIdTraitBaseAttribute
78+
{
79+
public WorkItemAttribute() { }
80+
public WorkItemAttribute(long id) { }
81+
public WorkItemAttribute(string? id) { }
82+
}
83+
}
84+
namespace NetEvolve.Extensions.TUnit.Internal
85+
{
86+
public abstract class CategoryTraitBaseAttribute : System.Attribute, TUnit.Core.Interfaces.IEventReceiver, TUnit.Core.Interfaces.ITestDiscoveryEventReceiver
87+
{
88+
protected CategoryTraitBaseAttribute(string category) { }
89+
public string Category { get; }
90+
public int Order { get; }
91+
public System.Threading.Tasks.ValueTask OnTestDiscovered(TUnit.Core.DiscoveredTestContext context) { }
92+
}
93+
public abstract class CategoryWithIdTraitBaseAttribute : System.Attribute, TUnit.Core.Interfaces.IEventReceiver, TUnit.Core.Interfaces.ITestDiscoveryEventReceiver
94+
{
95+
protected CategoryWithIdTraitBaseAttribute(string category, long id) { }
96+
protected CategoryWithIdTraitBaseAttribute(string category, string? id) { }
97+
public string Category { get; }
98+
public string? Id { get; }
99+
public int Order { get; }
100+
public System.Threading.Tasks.ValueTask OnTestDiscovered(TUnit.Core.DiscoveredTestContext context) { }
101+
}
102+
public abstract class NamedCategoryTraitBaseAttribute : System.Attribute, TUnit.Core.Interfaces.IEventReceiver, TUnit.Core.Interfaces.ITestDiscoveryEventReceiver
103+
{
104+
protected NamedCategoryTraitBaseAttribute(string category, string id) { }
105+
public string Category { get; }
106+
public string Id { get; }
107+
public int Order { get; }
108+
public System.Threading.Tasks.ValueTask OnTestDiscovered(TUnit.Core.DiscoveredTestContext context) { }
109+
}
110+
}
111+
namespace TUnit.Core.Helpers
112+
{
113+
public static class ReflectionReplacements
114+
{
115+
public static bool IsAotMode { get; }
116+
public static object?[]? ConvertTupleToArray(object tuple) { }
117+
public static System.Threading.Tasks.Task<object?> InvokeMethodAsync(string methodKey, object? instance, params object?[]? parameters) { }
118+
public static bool IsTupleType(System.Type type) { }
119+
public static System.Type? MakeGenericType(System.Type genericDefinition, params System.Type[] typeArguments) { }
120+
public static void RegisterGenericTypeFactory(TUnit.Core.Helpers.ReflectionReplacements.GenericTypeFactoryDelegate genericTypeFactory) { }
121+
public static void RegisterMethodInvoker(TUnit.Core.Helpers.ReflectionReplacements.MethodInvokerDelegate methodInvoker) { }
122+
public static void RegisterPropertyInjector<T>(TUnit.Core.Helpers.ReflectionReplacements.PropertyInjectorDelegate<T> propertyInjector)
123+
where T : notnull { }
124+
public static void RegisterTupleConverter(TUnit.Core.Helpers.ReflectionReplacements.TupleConverterDelegate tupleConverter) { }
125+
public static void RegisterTupleTypeChecker(TUnit.Core.Helpers.ReflectionReplacements.TupleTypeCheckerDelegate tupleTypeChecker) { }
126+
public static void RegisterTypeResolver(TUnit.Core.Helpers.ReflectionReplacements.TypeResolverDelegate typeResolver) { }
127+
public static System.Type? ResolveType(string assemblyQualifiedName) { }
128+
public delegate System.Type? GenericTypeFactoryDelegate(System.Type genericDefinition, System.Type[] typeArguments);
129+
public delegate System.Threading.Tasks.Task<object?> MethodInvokerDelegate(string methodKey, object? instance, object?[]? parameters);
130+
public delegate System.Threading.Tasks.Task PropertyInjectorDelegate<T>(T instance, System.Collections.Generic.Dictionary<string, object?> propertyValues, TUnit.Core.TestContext testContext);
131+
public delegate object?[]? TupleConverterDelegate(object tuple);
132+
public delegate bool TupleTypeCheckerDelegate(System.Type type);
133+
public delegate System.Type? TypeResolverDelegate(string assemblyQualifiedName);
134+
}
135+
}
136+
namespace TUnit.Generated
137+
{
138+
public static class AotReplacementRegistry
139+
{
140+
[System.Runtime.CompilerServices.ModuleInitializer]
141+
public static void Initialize() { }
142+
}
143+
public static class AotTypeResolver
144+
{
145+
public static System.Type? MakeGenericType(System.Type genericTypeDefinition, params System.Type[] typeArguments) { }
146+
public static System.Type? ResolveType(string assemblyQualifiedName) { }
147+
}
148+
}

tests/NetEvolve.Extensions.TUnit.Tests.Unit/NetEvolve.Extensions.TUnit.Tests.Unit.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
3+
<TargetFrameworks>net6.0;net8.0;net9.0</TargetFrameworks>
44
<OutputType>Exe</OutputType>
5+
<CheckEolTargetFramework>false</CheckEolTargetFramework>
56
</PropertyGroup>
67
<ItemGroup>
78
<PackageReference Include="coverlet.collector" />

0 commit comments

Comments
 (0)