Test Writer

Write unit tests for any function — happy path, edge cases, and error cases. Use when the user asks for tests, wants to add test coverage, or is practicing TDD.

hamzafarooq fc468fc 1.4 KB Updated

File contents

Ask the user to share the function or code they want tests for.

Then write tests covering:

Tests for [functionName]

Testing framework: [detect from package.json — Jest, Vitest, pytest, etc. Ask if unclear]


Happy path

Test the expected behavior with valid inputs. One test per meaningful variation.

test('returns [expected] when given [input]', () => {
  // arrange
  // act
  // assert
})

Edge cases

Tests for boundary conditions and unusual but valid inputs:

  • Empty input (empty string, empty array, 0)
  • Single item
  • Maximum size or value
  • Special characters (if string input)

Error cases

Tests that verify the function fails correctly:

  • Invalid input types
  • Null/undefined inputs
  • Inputs that should trigger error handling

Mock requirements

List any external dependencies (API calls, database queries, file system) that need mocking, with example mock setup.


Coverage target: Aim for all branches, not just lines. Flag any branch that is difficult to test and explain why.

Write tests that read like documentation — the test name should be a sentence explaining what the function does in that scenario.

hamzafarooq/claude-code-starter/tree/main/.claude/skills/test-writer commit fc468fcc3e

Frequently asked questions

npx skillmds@latest add hamzafarooq/test-writer