csharp-mstest

Installation
Summary

Modern unit testing with MSTest 3.x/4.x using current APIs and best practices.

  • Covers test class structure, lifecycle management, and the AAA (Arrange-Act-Assert) pattern with sealed classes and constructor-based initialization
  • Provides comprehensive assertion APIs including equality, null checks, exception testing (Throws/ThrowsExactly), collections, strings, comparisons, and type assertions
  • Supports data-driven tests via DataRow and DynamicData with ValueTuple and TestDataRow for type safety
  • Includes advanced features: retry for flaky tests, OS/CI conditional execution, parallelization control, and work item traceability
  • Highlights common mistakes and best practices for TestContext usage, cancellation tokens, and test organization
SKILL.md

MSTest Best Practices (MSTest 3.x/4.x)

Your goal is to help me write effective unit tests with modern MSTest, using current APIs and best practices.

Project Setup

  • Use a separate test project with naming convention [ProjectName].Tests
  • Reference MSTest 3.x+ NuGet packages (includes analyzers)
  • Consider using MSTest.Sdk for simplified project setup
  • Run tests with dotnet test

Test Class Structure

  • Use [TestClass] attribute for test classes
  • Seal test classes by default for performance and design clarity
  • Use [TestMethod] for test methods (prefer over [DataTestMethod])
  • Follow Arrange-Act-Assert (AAA) pattern
  • Name tests using pattern MethodName_Scenario_ExpectedBehavior
Related skills

More from github/awesome-copilot

Installs
8.4K
GitHub Stars
32.7K
First Seen
Feb 25, 2026