Backend
36 installs
MSTest Best Practices (MSTest 3.x/4.x)
by github/awesome-copilot
Get best practices for MSTest 3.x/4.x unit testing, including modern assertion APIs and data-driven tests
Skill content
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 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