dotnet-test

Run .NET tests selectively using a build-first, test-targeted workflow optimized for development speed.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "dotnet-test" with this command: npx skills add nikiforovall/github-copilot-rules/nikiforovall-github-copilot-rules-dotnet-test

.NET Test Runner

Run .NET tests selectively using a build-first, test-targeted workflow optimized for development speed.

Core Workflow

Follow this workflow to run tests efficiently:

Step 1: Build Solution First

Build the entire solution with minimal output to catch compile errors early:

dotnet build -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal

Step 2: Run Specific Project Tests

Run tests for the specific test project with --no-build to skip redundant compilation:

dotnet test path/to/project --no-build --verbosity minimal

Step 3: Filter When Targeting Specific Tests

Narrow down to specific tests using filter expressions:

By method name using FullyQualifiedName (recommended)

dotnet test --no-build --filter "FullyQualifiedName~MyTestMethod"

By class name using FullyQualifiedName (recommended)

dotnet test --no-build --filter "FullyQualifiedName~MyTestClass"

By parameter values in Theory tests (xUnit)

dotnet test --no-build --filter "DisplayName~paramValue"

Combined filters

dotnet test --no-build --filter "FullyQualifiedNameCreate|FullyQualifiedNameUpdate"

Note: Properties Name~ and ClassName= may not work reliably. Use FullyQualifiedName~ instead.

Quick Reference

Commands

Command Purpose

dotnet build -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal

Build solution with minimal output

dotnet test path/to/Tests.csproj --no-build

Run project tests (skip build)

dotnet test --no-build --logger "console;verbosity=detailed"

Show ITestOutputHelper output

dotnet test --no-build --filter "..."

Run filtered tests

dotnet test --no-build --list-tests

List available tests without running

Filter Operators

Operator Meaning Example

=

Exact match ClassName=MyTests

!=

Not equal Name!=SkipThis

~

Contains Name~Create

!~

Does not contain Name!~Integration

|

OR NameTest1|NameTest2 (note '|' is an escape for markdown)

&

AND Name~User&Category=Unit

xUnit Filter Properties

Property Description Reliability Example

FullyQualifiedName

Full test name with namespace ✅ Reliable FullyQualifiedName~MyNamespace.MyClass

DisplayName

Test display name (includes Theory parameters) ✅ Reliable DisplayNameMy_Test_Name or DisplayNameparamValue

Name

Method name ⚠️ Unreliable Use FullyQualifiedName~ instead

ClassName

Class name ⚠️ Unreliable Use FullyQualifiedName~ instead

Category

Trait category ✅ Reliable Category=Unit

When to use DisplayName: Essential for filtering Theory tests by their parameter values. xUnit includes all parameter values in the DisplayName (e.g., MyTest(username: "admin", age: 30) ), making it ideal for running specific test cases. See references/theory-parameter-filtering.md for detailed guidance.

Common Filter Patterns

Run tests containing "Create" in method name

dotnet test --no-build --filter "FullyQualifiedName~Create"

Run tests in a specific class

dotnet test --no-build --filter "FullyQualifiedName~UserServiceTests"

Run tests matching namespace pattern

dotnet test --no-build --filter "FullyQualifiedName~MyApp.Tests.Unit"

Run Theory tests with specific parameter value

dotnet test --no-build --filter "DisplayName~admin_user"

Run tests with specific trait

dotnet test --no-build --filter "Category=Integration"

Exclude slow tests

dotnet test --no-build --filter "Category!=Slow"

Combined: class AND parameter value (Theory tests)

dotnet test --no-build --filter "FullyQualifiedNameOrderTests&DisplayNameUSD"

Multiple parameter values (OR condition)

dotnet test --no-build --filter "DisplayNameEUR|DisplayNameGBP"

ITestOutputHelper Output

To see output from xUnit's ITestOutputHelper , use the console logger with detailed verbosity:

dotnet test --no-build --logger "console;verbosity=detailed"

Reducing Output Noise

Verbosity levels for dotnet test :

Level Flag Description

quiet -v q

Minimal output (pass/fail only)

minimal -v m

Clean summary, no test output

normal -v n

Default, shows discovered tests

detailed -v d

Shows more details

diagnostic -v diag

Most verbose

To see test output, use grep to filter out discovery messages (for xUnit):

dotnet test --no-build --logger "console;verbosity=detailed" 2>&1 | grep -v "Discovered [execution]"

Framework Differences

This skill focuses on xUnit. For MSTest or NUnit, filter property names differ:

Property xUnit MSTest NUnit

Method name Name

Name

Name

Class name ClassName

ClassName

ClassName

Category/Trait Category

TestCategory

Category

Priority

Priority

Priority

Progressive Disclosure

For advanced scenarios, load additional references:

  • references/theory-parameter-filtering.md - Filtering xUnit Theory tests by parameter values (string, numeric, boolean, etc.)

  • references/blame-mode.md - Debugging test crashes and hangs with --blame

  • references/parallel-execution.md - Controlling parallel test execution

Load these references when:

  • Working with xUnit Theory tests and need to filter by specific parameter values

  • Tests are crashing or hanging unexpectedly

  • Diagnosing test isolation issues

  • Optimizing test run performance

When to Use This Skill

Invoke when the user needs to:

  • Run targeted tests during development

  • Filter tests by method or class name

  • Filter xUnit Theory tests by specific parameter values (e.g., run only admin user test cases)

  • Understand test output and filtering options

  • Debug failing or hanging tests

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

dotnet-dependency

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

dotnet-run-file

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

glab

No summary provided by upstream source.

Repository SourceNeeds Review