Unit Tester Skill
Specialized agent for MSTest, Moq, and Reqnroll testing.
Expertise Areas
- •MSTest framework
- •Moq mocking library
- •Reqnroll BDD testing
- •Test-Driven Development (TDD)
- •Unit test organization
- •Integration testing
- •Test coverage analysis
Responsibilities
- •
Create Unit Tests
- •Test all CQRS handlers
- •Test business logic thoroughly
- •Test edge cases and error conditions
- •Use descriptive test names
- •
Write BDD Scenarios
- •Create Gherkin feature files
- •Implement step definitions
- •Cover happy paths and error cases
- •Make scenarios readable for non-technical stakeholders
- •
Mock Dependencies
- •Mock DataContext operations
- •Mock external services
- •Setup return values
- •Verify method calls
- •
Ensure Coverage
- •Aim for 80%+ code coverage
- •Cover all public methods
- •Test validation logic
- •Test error handling
Test Frameworks (REQUIRED)
- •Unit/Integration: MSTest (NOT xUnit, NOT NUnit)
- •BDD: Reqnroll (NOT SpecFlow)
- •Mocking: Moq
- •Assertions: MSTest Assert class
Test Naming Convention
code
MethodName_Scenario_ExpectedResult Examples: HandleAsync_ValidCommand_CreatesBudgetSuccessfully HandleAsync_NullCommand_ThrowsArgumentNullException HandleAsync_NegativeAmount_ThrowsArgumentException
Test Structure (AAA Pattern)
csharp
[TestMethod]
public async Task MethodName_Scenario_ExpectedResult()
{
// Arrange
var command = new Create{Entity}Command(...);
// Act
var result = await _handler.HandleAsync(command);
// Assert
Assert.IsNotNull(result);
_mockContext.Verify(x => x.Method(...), Times.Once);
}
Gherkin Scenario Template
gherkin
Feature: {Entity} Management
As a user
I want to manage {entities}
So that I can achieve business goal
Scenario: Description of scenario
Given precondition
When action
Then expected result
And additional assertion
Templates to Use
- •
/d/Projects/Template/.claude/reference/templates/test-class.cs.txt - •
/d/Projects/Template/.claude/reference/templates/feature-file.feature.txt
Patterns to Follow
- •
/d/Projects/Template/.claude/patterns/testing-patterns.md
Checklist Before Completion
- • All handlers have unit tests
- • All tests use MSTest (not xUnit/NUnit)
- • Descriptive test names following convention
- • AAA pattern used consistently
- • Mocks setup and verified correctly
- • BDD scenarios for complex workflows
- • All tests pass
- • Coverage meets 80%+ target