Skip to content

Compatibility library for solutions using multiple .NET test frameworks.

License

Notifications You must be signed in to change notification settings

dailydevops/extensions.test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetEvolve.Extensions.Test

License: MIT .NET Build Status

A comprehensive compatibility library providing standardized test categorization attributes across multiple .NET test frameworks. This library enables teams to maintain consistent test organization, filtering, and execution management regardless of their chosen testing framework.

🎯 Overview

NetEvolve.Extensions.Test bridges the gap between different .NET testing frameworks by providing a unified set of test categorization attributes. Whether you're using MSTest, NUnit, TUnit, or XUnit, you can apply the same categorization strategy across your entire solution.

Key Benefits

  • Framework Agnostic: Use the same attributes across MSTest, NUnit, TUnit, XUnit, and XUnit v3
  • Consistent Filtering: Execute tests uniformly with dotnet test --filter TestCategory=IntegrationTest
  • Standardized Organization: Organize tests by type (Unit, Integration, Performance, etc.)
  • Work Item Tracking: Link tests to bugs, features, user stories, and epics
  • Deployment Testing: Separate pre-deployment and post-deployment validation
  • .NET 10 Support: Built for modern .NET with full C# 13 compatibility

📦 Supported Test Frameworks

Framework Package NuGet
MSTest NetEvolve.Extensions.MSTest NuGet
NUnit NetEvolve.Extensions.NUnit NuGet
TUnit NetEvolve.Extensions.TUnit NuGet
XUnit NetEvolve.Extensions.XUnit NuGet
XUnit v3 NetEvolve.Extensions.XUnit.V3 NuGet

🚀 Quick Start

Installation

Choose the package matching your test framework:

# MSTest
dotnet add package NetEvolve.Extensions.MSTest

# NUnit
dotnet add package NetEvolve.Extensions.NUnit

# TUnit
dotnet add package NetEvolve.Extensions.TUnit

# XUnit
dotnet add package NetEvolve.Extensions.XUnit

# XUnit v3
dotnet add package NetEvolve.Extensions.XUnit.V3

Basic Usage

using NetEvolve.Extensions.MSTest; // Or NUnit, TUnit, XUnit, etc.

[TestClass]
[IntegrationTest] // Categorize all tests in this class
public class DatabaseTests
{
    [TestMethod]
    [Bug] // Mark as bug fix test
    public void Should_Handle_Concurrent_Updates()
    {
        // Your test implementation
    }
}

Filter Tests

# Run only integration tests
dotnet test --filter TestCategory=IntegrationTest

# Run unit and acceptance tests
dotnet test --filter "TestCategory=UnitTest|TestCategory=AcceptanceTest"

# Exclude performance tests
dotnet test --filter "TestCategory!=PerformanceTest"

📚 Available Attributes

Test Categories

  • UnitTestAttribute - Isolated component tests
  • IntegrationTestAttribute - Component interaction tests
  • AcceptanceTestAttribute - User story validation
  • PerformanceTestAttribute - Performance and load testing
  • EndToEndTestAttribute - Complete workflow tests
  • FunctionalTestAttribute - Feature behavior tests
  • ArchitectureTestAttribute - Design constraint validation
  • CodedUITestAttribute - UI automation tests (MSTest)

Work Item Tracking

  • BugAttribute - Bug fix validation
  • IssueAttribute - Issue tracking
  • FeatureAttribute - Feature implementation
  • EpicAttribute - Epic-level requirements
  • UserStoryAttribute - User story completion
  • WorkItemAttribute - Generic work item association

Deployment Testing

  • PreDeploymentTestAttribute - Pre-deployment validation
  • PostDeploymentTestAttribute - Post-deployment verification

🛠️ Requirements

  • .NET 10 or later
  • Compatible with .NET Standard 2.0 projects (.NET Framework 4.6.1+, .NET Core 2.0+)
  • C# 13 support

📖 Documentation

Each package includes comprehensive documentation:

🤝 Contributing

Contributions are welcome! Please feel free to:

  • Report issues or bugs
  • Suggest new features or improvements
  • Submit pull requests

Visit our GitHub repository to get started.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by the NetEvolve Team

About

Compatibility library for solutions using multiple .NET test frameworks.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 6

Languages