Testing 38 installs

TUnit Best Practices

by github/awesome-copilot

Get best practices for TUnit unit testing, including data-driven tests

Skill content

Best practices for writing unit tests with TUnit, including data-driven and advanced testing patterns.

- Use [Test] attribute for test methods; follow Arrange-Act-Assert pattern with naming convention MethodName_Scenario_ExpectedBehavior

- Data-driven testing via [Arguments], [MethodData], and [ClassData] attributes; multiple [Arguments] can apply to the same method

- Fluent async assertions with await Assert.That() syntax; chain with .And or .Or operators and use .Within() for tolerance comparisons

- Lifecycle hooks at multiple scopes: [Before/After(Test)], [Before/After(Class)], and [Before/After(Assembly)] for flexible setup and teardown

- Advanced features include [Repeat(n)], [Retry(n)], [Timeout], [ParallelLimit<T>], and [DependsOn] for test control; parallel execution enabled by default

TUnit Best Practices

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

Project Setup

- Use a separate test project with naming convention [ProjectName].Tests

- Reference TUnit package and TUnit.Assertions for fluent assertions

- Create test classes that match the classes being tested (e.g., CalculatorTests for Calculator)

- Use .NET SDK test commands: dotnet test for running tests

- TUnit requires .NET 8.0 or higher

Test Structure