Provides NUnit best practices for C# unit tests, including setup, AAA pattern, data-driven tests with [TestCase]/[TestCaseSource], assertions, and mocking.
From awesome-copilotnpx claudepluginhub ctr26/dotfiles --plugin awesome-copilotThis skill uses the workspace's default tool permissions.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Uses ctx7 CLI to fetch current library docs, manage AI coding skills (install/search/generate), and configure Context7 MCP for AI editors.
Your goal is to help me write effective unit tests with NUnit, covering both standard and data-driven testing approaches.
[ProjectName].TestsCalculatorTests for Calculator)dotnet test for running tests[TestFixture] attribute to test classes[Test] attribute for test methodsMethodName_Scenario_ExpectedBehavior[SetUp] and [TearDown] for per-test setup and teardown[OneTimeSetUp] and [OneTimeTearDown] for per-class setup and teardown[SetUpFixture] for assembly-level setup and teardown[TestCase] for inline test data[TestCaseSource] for programmatically generated test data[Values] for simple parameter combinations[ValueSource] for property or method-based data sources[Random] for random numeric test values[Range] for sequential numeric test values[Combinatorial] or [Pairwise] for combining multiple parametersAssert.That with constraint model (preferred NUnit style)Is.EqualTo, Is.SameAs, Contains.ItemAssert.AreEqual for simple value equality (classic style)CollectionAssert for collection comparisonsStringAssert for string-specific assertionsAssert.Throws<T> or Assert.ThrowsAsync<T> to test exceptions[Category("CategoryName")][Order] to control test execution order when necessary[Author("DeveloperName")] to indicate ownership[Description] to provide additional test information[Explicit] for tests that shouldn't run automatically[Ignore("Reason")] to temporarily skip tests