csharp-xunit

Installation
Summary

Comprehensive XUnit testing guide covering standard facts, data-driven theories, and best practices.

  • Covers test structure using Arrange-Act-Assert pattern, naming conventions, and fixture-based setup/teardown with IClassFixture<T> and ICollectionFixture<T>
  • Explains data-driven testing with [Theory] combined with [InlineData], [MemberData], and [ClassData] attributes, plus custom data attribute creation
  • Details assertion methods for equality, collections, regex patterns, and exception handling, with optional fluent assertions library integration
  • Includes mocking strategies using Moq or NSubstitute, test organization with traits and collections, and diagnostic output via ITestOutputHelper
SKILL.md

XUnit Best Practices

Your goal is to help me write effective unit tests with XUnit, covering both standard and data-driven testing approaches.

Project Setup

  • Use a separate test project with naming convention [ProjectName].Tests
  • Reference Microsoft.NET.Test.Sdk, xunit, and xunit.runner.visualstudio packages
  • Create test classes that match the classes being tested (e.g., CalculatorTests for Calculator)
  • Use .NET SDK test commands: dotnet test for running tests

Test Structure

  • No test class attributes required (unlike MSTest/NUnit)
  • Use fact-based tests with [Fact] attribute for simple tests
  • Follow the Arrange-Act-Assert (AAA) pattern
  • Name tests using the pattern MethodName_Scenario_ExpectedBehavior
  • Use constructor for setup and IDisposable.Dispose() for teardown
  • Use IClassFixture<T> for shared context between tests in a class
Related skills

More from github/awesome-copilot

Installs
8.9K
GitHub Stars
32.8K
First Seen
Feb 25, 2026