Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
github avatar

Csharp Nunit

  • 8.8k installs
  • 37.1k repo stars
  • Updated July 28, 2026
  • github/awesome-copilot

csharp-nunit is an agent skill that Get best practices for NUnit unit testing, including data-driven tests.

About

Get best practices for NUnit unit testing including data-driven tests name csharp-nunit description Get best practices for NUnit unit testing including data-driven tests NUnit Best Practices Your goal is to help me write effective unit tests with NUnit covering both standard and data-driven testing approaches Project Setup Use a separate test project with naming convention ProjectName Tests Reference Microsoft NET Test Sdk NUnit and NUnit3TestAdapter packages Create test classes that match the classes being tested e g CalculatorTests for Calculator Use NET SDK test commands dotnet test for running tests Test Structure Apply TestFixture attribute to test classes Use Test attribute for test methods Follow the Arrange-Act-Assert AAA pattern Name tests using the pattern MethodName_Scenario_ExpectedBehavior Use SetUp and TearDown for per-test setup and teardown Use OneTimeSetUp and OneTimeTearDown for per-class setup and teardown Use SetUpFixture for assembly-level setup and teardown Standard Tests Keep tests focused on a single behavior Avoid testing multiple behaviors in one test method Use clear assertions that express intent Include only the assertions needed to verify

  • Use a separate test project with naming convention `[ProjectName].Tests`
  • Reference Microsoft.NET.Test.Sdk, NUnit, and NUnit3TestAdapter packages
  • Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
  • Use .NET SDK test commands: `dotnet test` for running tests
  • Apply `[TestFixture]` attribute to test classes

Csharp Nunit by the numbers

  • 8,811 all-time installs (skills.sh)
  • +24 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #132 of 2,184 Testing & QA skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

csharp-nunit capabilities & compatibility

Capabilities
use a separate test project with naming conventi · reference microsoft.net.test.sdk, nunit, and nun · create test classes that match the classes being · use .net sdk test commands: `dotnet test` for ru · apply `[testfixture]` attribute to test classes
Use cases
documentation
From the docs

What csharp-nunit says it does

--- name: csharp-nunit description: 'Get best practices for NUnit unit testing, including data-driven tests' --- # NUnit Best Practices Your goal is to help m
SKILL.md
npx skills add https://github.com/github/awesome-copilot --skill csharp-nunit

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8.8k
repo stars37.1k
Security audit3 / 3 scanners passed
Last updatedJuly 28, 2026
Repositorygithub/awesome-copilot

What problem does csharp-nunit solve for developers using this skill?

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

Who is it for?

Developers who need csharp-nunit patterns described in the cached skill documentation.

Skip if: Skip when docs are empty or the task is outside the skill's documented scope.

When should I use this skill?

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

What you get

Actionable workflows and conventions from SKILL.md for csharp-nunit.

  • NUnit test classes
  • [ProjectName].Tests project structure

By the numbers

  • Requires three NuGet packages: Microsoft.NET.Test.Sdk, NUnit, and NUnit3TestAdapter

Files

SKILL.mdMarkdownGitHub ↗

NUnit Best Practices

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

Project Setup

  • Use a separate test project with naming convention [ProjectName].Tests
  • Reference Microsoft.NET.Test.Sdk, NUnit, and NUnit3TestAdapter packages
  • Create test classes that match the classes being tested (e.g., CalculatorTests for Calculator)
  • Use .NET SDK test commands: dotnet test for running tests

Test Structure

  • Apply [TestFixture] attribute to test classes
  • Use [Test] attribute for test methods
  • Follow the Arrange-Act-Assert (AAA) pattern
  • Name tests using the pattern MethodName_Scenario_ExpectedBehavior
  • Use [SetUp] and [TearDown] for per-test setup and teardown
  • Use [OneTimeSetUp] and [OneTimeTearDown] for per-class setup and teardown
  • Use [SetUpFixture] for assembly-level setup and teardown

Standard Tests

  • Keep tests focused on a single behavior
  • Avoid testing multiple behaviors in one test method
  • Use clear assertions that express intent
  • Include only the assertions needed to verify the test case
  • Make tests independent and idempotent (can run in any order)
  • Avoid test interdependencies

Data-Driven Tests

  • Use [TestCase] for inline test data
  • Use [TestCaseSource] for programmatically generated test data
  • Use [Values] for simple parameter combinations
  • Use [ValueSource] for property or method-based data sources
  • Use [Random] for random numeric test values
  • Use [Range] for sequential numeric test values
  • Use [Combinatorial] or [Pairwise] for combining multiple parameters

Assertions

  • Use Assert.That with constraint model (preferred NUnit style)
  • Use constraints like Is.EqualTo, Is.SameAs, Contains.Item
  • Use Assert.AreEqual for simple value equality (classic style)
  • Use CollectionAssert for collection comparisons
  • Use StringAssert for string-specific assertions
  • Use Assert.Throws<T> or Assert.ThrowsAsync<T> to test exceptions
  • Use descriptive messages in assertions for clarity on failure

Mocking and Isolation

  • Consider using Moq or NSubstitute alongside NUnit
  • Mock dependencies to isolate units under test
  • Use interfaces to facilitate mocking
  • Consider using a DI container for complex test setups

Test Organization

  • Group tests by feature or component
  • Use categories with [Category("CategoryName")]
  • Use [Order] to control test execution order when necessary
  • Use [Author("DeveloperName")] to indicate ownership
  • Use [Description] to provide additional test information
  • Consider [Explicit] for tests that shouldn't run automatically
  • Use [Ignore("Reason")] to temporarily skip tests

Related skills

How it compares

Use for NUnit-specific .NET conventions rather than xUnit or MSTest test generation skills.

FAQ

What does csharp-nunit do?

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

When should I use csharp-nunit?

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

Is csharp-nunit safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.