update-component-refer…
This skill should be used when the user wants to add components (commands, agents, skills, hooks, or MCP servers) to the…
This skill should be used when running .NET tests selectively with a build-first, test-targeted workflow. Use it for running tests with xUnit focus.
Claude Code
$ npx -y skills add NikiforovAll/claude-code-rules --skill dotnet-test --agent claude-code
Codex
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a codex -y
Cursor
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a cursor -y
Gemini CLI
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a gemini-cli -y
GitHub Copilot
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a github-copilot -y
OpenCode
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a opencode -y
Windsurf
$ npx skills add NikiforovAll/claude-code-rules --skill dotnet-test -a windsurf -y
name: dotnet-test description: This skill should be used when running .NET tests selectively with a build-first, test-targeted workflow. Use it for running tests with xUnit focus. allowed-tools: Bash(dotnet build:*), Bash(dotnet test:*), Read, Grep, Glob
Run .NET tests selectively using a build-first, test-targeted workflow optimized for development speed.
Follow this workflow to run tests efficiently:
Build the entire solution with minimal output to catch compile errors early:
dotnet build -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal
Run tests for the specific test project with `--no-build` to skip redundant compilation:
dotnet test path/to/project --no-build --verbosity minimal
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 "FullyQualifiedName~Create|FullyQualifiedName~Update"
**Note**: Properties `Name~` and `ClassName=` may not work reliably. Use `FullyQualifiedName~` instead.
| 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 |
| Operator | Meaning | Example | | -------- | ---------------- | -------------------------------------------------------------- | | `=` | Exact match | `ClassName=MyTests` | | `!=` | Not equal | `Name!=SkipThis` | | `~` | Contains | `Name~Create` | | `!~` | Does not contain | `Name!~Integration` | | `\|` | OR | `Name~Test1\|Name~Test2` (note '\|' is an escape for markdown) | | `&` | AND | `Name~User&Category=Unit` |
| Property | Description | Reliability | Example | | -------------------- | ---------------------------------------------- | ------------ | ------------------------------------------------------ | | `FullyQualifiedName` | Full test name with namespace | ✅ Reliable | `FullyQualifiedName~MyNamespace.MyClass` | | `DisplayName` | Test display name (includes Theory parameters) | ✅ Reliable | `DisplayName~My_Test_Name` or `DisplayName~paramValue` | | `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](references/theory-parameter-filtering.md) for detailed guidance.
# 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 "FullyQualifiedName~OrderTests&DisplayName~USD" # Multiple parameter values (OR condition) dotnet test --no-build --filter "DisplayName~EUR|DisplayName~GBP"
To see output from xUnit's `ITestOutputHelper`, use the console logger with detailed verbosity:
dotnet test --no-build --logger "console;verbosity=detailed"
Verbosity levels for `dotnet test`:
| Level | Flag | Description | | ---------- | --------- | ------------------------------- | | quiet | `-v q` | Minimal output (pass/fail only) |
A collection of Claude Code recommendations and practices. Learn practical techniques to enhance your AI-assisted development workflow with Claude Code.
This skill should be used when the user wants to add components (commands, agents, skills, hooks, or MCP servers) to the…
This skill automates version bumping during the release process for the Claude Code Handbook monorepo. It should be used when the…
Guide spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates between phases. Use…
Review changed code for reuse, quality, and efficiency using three parallel disposable subagents. This skill should be used when…
Review changed code for reuse, quality, and efficiency using a team of persistent named reviewers. This skill should be used when…
This skill should be used when users want to discover, browse, or audit cc-handbook marketplace plugins. Shows all available…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.