csharp-tunit

Solid

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

AI & Automation 34,233 stars 4188 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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 - No test class attributes required (like xUnit/NUnit) - Use `[Test]` attribute for test methods (not `[Fact]` like xUnit) - Follow the Arrange-Act-Assert (AAA) pattern - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior` - Use lifecycle hooks: `[Before(Test)]` for setup and `[After(Test)]` for teardown - Use `[Before(Class)]` and `[After(Class)]` for shared context between tests in a class - Use `[Before(Assembly)]` and `[After(Assembly)]` for shared context across test classes - TUnit supports advanced lifecycle hooks like `[Before(TestSession)]` and `[After(TestSession)]` ## Standard Tests - Keep tests focused on a single behavior - Avoid testing multiple behaviors in one test method - Use TUnit's fluent assertion syntax with `await Assert.That()` - Include only the assertions needed to verify the test case - Make tests independent and idempotent (can run in any order) - Avoid test interdependencies (use `[DependsOn]` attribute if neede...

Details

Author
github
Repository
github/awesome-copilot
Created
11 months ago
Last Updated
today
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category