gdUnit4.analyzers
1.0.0-rc3
dotnet add package gdUnit4.analyzers --version 1.0.0-rc3
NuGet\Install-Package gdUnit4.analyzers -Version 1.0.0-rc3
<PackageReference Include="gdUnit4.analyzers" Version="1.0.0-rc3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add gdUnit4.analyzers --version 1.0.0-rc3
#r "nuget: gdUnit4.analyzers, 1.0.0-rc3"
// Install gdUnit4.analyzers as a Cake Addin #addin nuget:?package=gdUnit4.analyzers&version=1.0.0-rc3&prerelease // Install gdUnit4.analyzers as a Cake Tool #tool nuget:?package=gdUnit4.analyzers&version=1.0.0-rc3&prerelease
The C# GdUnit4 Analyzers
What is GdUnit4.Analyzer
GdUnit4.Analyzer is a Roslyn-based analyzer package designed to enhance the development experience when writing tests with GdUnit4. It provides compile-time validation for GdUnit4 test attributes and helps developers catch configuration errors early in the development process.
Features
The analyzer must be included by referencing the gdUnit4.analyzer package:
<PackageReference Include="gdUnit4.api" Version="4.4.0"/>
<PackageReference Include="gdUnit4.test.adapter" Version="2.1.0"/>
<PackageReference Include="gdUnit4.analyzers" Version="1.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Attribute Validation
The analyzer enforces correct usage of GdUnit4 test attributes:
Example: DataPoint and TestCase Combination Validation
Validates proper combination of DataPoint and TestCase attributes:
// ✅ Valid: Single TestCase with DataPoint [TestCase] [DataPoint(nameof(TestData))] public void ValidTest(int a, int b) { } // ❌ Invalid: Multiple TestCase with DataPoint [TestCase] [TestCase] // GdUnit0201 error: Method 'InvalidTest' cannot have multiple TestCase attributes when DataPoint attribute is present [DataPoint(nameof(TestData))] public void InvalidTest(int a, int b) { }
Technical Details
The analyzer is built using:
- .NET Standard 2.0
- Roslyn Analyzer Framework
- Microsoft.CodeAnalysis.CSharp
You are welcome to
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v1.0.0-rc1
This is the Initial release of the analyzers.
Features:
- Compile-time validation of GdUnit4 attribute combinations
- Provides clear error messages with method name identification
- Integrates seamlessly with Visual Studio and other IDEs
Integration:
- Built for .NET Standard 2.0 compatibility
Technical Details:
- Implementation based on Roslyn analyzer framework
- IDE support for real-time error detection
- Includes help link to documentation
Known Limitations:
- Currently only validates TestCase and DataPoint attribute combinations
- Additional attribute validations planned for future releases