gdUnit4.analyzers
1.0.0-rc1
See the version list below for details.
dotnet add package gdUnit4.analyzers --version 1.0.0-rc1
NuGet\Install-Package gdUnit4.analyzers -Version 1.0.0-rc1
<PackageReference Include="gdUnit4.analyzers" Version="1.0.0-rc1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add gdUnit4.analyzers --version 1.0.0-rc1
#r "nuget: gdUnit4.analyzers, 1.0.0-rc1"
// Install gdUnit4.analyzers as a Cake Addin #addin nuget:?package=gdUnit4.analyzers&version=1.0.0-rc1&prerelease // Install gdUnit4.analyzers as a Cake Tool #tool nuget:?package=gdUnit4.analyzers&version=1.0.0-rc1&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 is automatically included when referencing the gdUnit4.api package - no additional configuration required:
<PackageReference Include="gdUnit4.api" Version="4.4.0-rc3" />
Attribute Validation
The analyzer enforces correct usage of GdUnit4 test attributes:
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] // Compile Error: GDU0001
[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
- GDU0001: Detects and prevents multiple TestCase attributes when used with DataPoint attribute
- Provides clear error messages with method name identification
- Integrates seamlessly with Visual Studio and other IDEs
Integration:
- Automatically included with gdUnit4.api package
- No additional configuration required
- 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