Get best practices for XUnit unit testing, including data-driven tests
Your goal is to help me write effective unit tests with XUnit, covering both standard and data-driven testing approaches.
[ProjectName].TestsCalculatorTests for Calculator)dotnet test for running tests[Fact] attribute for simple testsMethodName_Scenario_ExpectedBehaviorIDisposable.Dispose() for teardownIClassFixture<T> for shared context between tests in a classICollectionFixture<T> for shared context between multiple test classes[Theory] combined with data source attributes[InlineData] for inline test data[MemberData] for method-based test data[ClassData] for class-based test dataDataAttributeAssert.Equal for value equalityAssert.Same for reference equalityAssert.True/Assert.False for boolean conditionsAssert.Contains/Assert.DoesNotContain for collectionsAssert.Matches/Assert.DoesNotMatch for regex pattern matchingAssert.Throws<T> or await Assert.ThrowsAsync<T> to test exceptions[Trait("Category", "CategoryName")] for categorizationITestOutputHelper) for test diagnosticsSkip = "reason" in fact/theory attributesCopy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/csharp-xunit · pinned to the source commit
# Run from your project root
git clone https://github.com/github/awesome-copilot.git .skillboard-tmp
git -C .skillboard-tmp checkout f11a4e441c5ff061b4f8ae37952be8c602e4034e
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/csharp-xunit" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/github/awesome-copilot.git .skillboard-tmp
git -C .skillboard-tmp checkout f11a4e441c5ff061b4f8ae37952be8c602e4034e
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/csharp-xunit" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/csharp-xunit
Scanner static-checks@0.1.0 · commit f11a4e441c5f. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.