backend-test-writer
Use when generating tests for backend code (Express routes, MongoDB models, Node services) - analyzes file type, detects test framework from package.json, generates comprehensive tests with setup/teardown and edge case coverage
Best use case
backend-test-writer is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Use when generating tests for backend code (Express routes, MongoDB models, Node services) - analyzes file type, detects test framework from package.json, generates comprehensive tests with setup/teardown and edge case coverage
Use when generating tests for backend code (Express routes, MongoDB models, Node services) - analyzes file type, detects test framework from package.json, generates comprehensive tests with setup/teardown and edge case coverage
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "backend-test-writer" skill to help with this workflow task. Context: Use when generating tests for backend code (Express routes, MongoDB models, Node services) - analyzes file type, detects test framework from package.json, generates comprehensive tests with setup/teardown and edge case coverage
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/backend-test-writer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How backend-test-writer Compares
| Feature / Agent | backend-test-writer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when generating tests for backend code (Express routes, MongoDB models, Node services) - analyzes file type, detects test framework from package.json, generates comprehensive tests with setup/teardown and edge case coverage
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Backend Test Writer
Generate comprehensive backend tests for MERN stack code. Analyzes file type, detects project conventions, produces tests that actually run.
**Philosophy:** Smart defaults, zero config. Detect everything from project.
<workflow>
## Workflow
Copy and track progress:
- [ ] Phase 0: Infrastructure check
- [ ] Phase 1: Analyze target files
- [ ] Phase 2: Generate tests
- [ ] Phase 3: Report summary
### Phase 0: Infrastructure Check
Before generating tests, verify setup:
1. Check `package.json` for test framework (Jest/Vitest/Mocha)
2. If none → prompt: "Set up Jest + Supertest?"
3. Check for `mongodb-memory-server` (needed for integration tests)
4. Detect test file convention (colocated vs `__tests__/` vs `tests/`)
**Stop if:** No test framework and user declines setup.
### Phase 1: Analyze Target Files
| Pattern | Type | Test Approach |
|---------|------|---------------|
| `routes/`, `*.routes.js` | Route | Integration (Supertest + real DB) |
| `controllers/` | Controller | Integration |
| `services/` | Service | Unit (mocked deps) |
| `models/`, `*.model.js` | Model | Unit (validation tests) |
| `middleware/` | Middleware | Unit (mock req/res/next) |
| `utils/`, `helpers/` | Utility | Unit (pure functions) |
**Override:** User can specify `--unit` or `--integration`.
### Phase 2: Generate Tests
Process files sequentially with progress. User can stop anytime.
**Each test includes:**
- Proper imports for detected framework
- Setup/teardown (DB connection, cleanup)
- Comprehensive coverage:
- Success cases (happy path)
- Validation errors (400)
- Not found (404)
- Auth failures (401/403) if protected
- Edge cases (duplicates, empty, null)
**Reference:** See [test-patterns.md](reference/test-patterns.md) for complete code examples.
### Phase 3: Report
```
Generated: X test files
Coverage: Y test cases total
Next: Run `npm test` to verify
```
</workflow>
<quick-reference>
## Quick Reference
| File Type | Imports | DB Setup |
|-----------|---------|----------|
| Route | `supertest`, `mongodb-memory-server` | Real (in-memory) |
| Service | `jest` | Mocked |
| Model | `mongoose` | Mocked |
| Middleware | `jest` | None |
## Test Structure Pattern
```javascript
describe('[Resource] [Method]', () => {
describe('success cases', () => {
it('should [expected behavior]', async () => {});
});
describe('validation errors', () => {
it('should return 400 for [invalid case]', async () => {});
});
describe('edge cases', () => {
it('should handle [edge case]', async () => {});
});
});
```
</quick-reference>
<checklists>
## Checklists
### Infrastructure (Check First)
- [ ] Test framework in `package.json`
- [ ] Test script defined (`"test": "jest"`)
- [ ] Supertest installed (integration tests)
- [ ] mongodb-memory-server installed (DB tests)
### Per-File Generation
- [ ] Check for existing tests first (gap analysis if found)
- [ ] Correct imports for file type
- [ ] Setup/teardown included
- [ ] Happy path tested
- [ ] Error cases tested (400, 404, 401)
- [ ] Edge cases tested (domain-specific: date→DST/timezone, money→precision, etc.)
- [ ] No secrets in assertions
- [ ] Async/await handled properly
- [ ] Priority assigned to each test (P0=critical, P1=important, P2=nice-to-have)
- [ ] Test helper factories suggested for complex inputs
</checklists>
<common-mistakes>
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Starting server in tests | Import app, let Supertest handle it |
| No DB cleanup | Add `afterEach` with `deleteMany({})` |
| Testing implementation | Test behavior through HTTP interface |
| Missing async/await | Await async operations |
| Mocking in integration tests | Use real DB for integration |
</common-mistakes>
<guidelines>
## Guidelines
- Don't generate tests for unread code
- Don't skip infrastructure check
- Don't generate only happy paths
- Don't forget cleanup between tests
</guidelines>
<references>
## Reference Files
Load when implementing specific patterns:
| When | Reference |
|------|-----------|
| Writing any test | [test-patterns.md](reference/test-patterns.md) |
| Setting up test infrastructure | [test-setup.md](reference/test-setup.md) |
</references>Related Skills
prd-doc-writer
Write and iteratively refine PRD/需求文档 with a story-driven structure and strict staged confirmations (journey map alignment, per-story single-point confirmation, final generation gate). Use when the user asks to 梳理/撰写/完善 PRD、需求文档、用户故事、验收标准,并希望用 ASCII 线框图与 Mermaid(流程图/状态图/时序图)来减少歧义、共同完成文档。
woocommerce-backend-dev
Add or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code. **MUST be invoked before writing any PHP unit tests.**
svelte-code-writer
CLI tools for Svelte 5 documentation lookup and code analysis. MUST be used whenever creating, editing or analyzing any Svelte component (.svelte) or Svelte module (.svelte.ts/.svelte.js). If possible, this skill should be executed within the svelte-file-editor agent for optimal results.
testing-strategies
Design comprehensive testing strategies for software quality assurance. Use when planning test coverage, implementing test pyramids, or setting up testing infrastructure. Handles unit testing, integration testing, E2E testing, TDD, and testing best practices.
backend-testing
Write comprehensive backend tests including unit tests, integration tests, and API tests. Use when testing REST APIs, database operations, authentication flows, or business logic. Handles Jest, Pytest, Mocha, testing strategies, mocking, and test coverage.
qa-test-planner
Generate comprehensive test plans, manual test cases, regression test suites, and bug reports for QA engineers. Includes Figma MCP integration for design validation.
game-test-case-generator
基于需求文档(xls/csv)生成专业游戏测试用例,支持完整用例和快速测试点两种模式。当用户提到"游戏测试"、"测试用例生成"、"需求转测试用例"、上传需求文档或原型时使用此技能。
writer
Document creation, format conversion (ODT/DOCX/PDF), mail merge, and automation with LibreOffice Writer.
wordpress-penetration-testing
This skill should be used when the user asks to "pentest WordPress sites", "scan WordPress for vulnerabilities", "enumerate WordPress users, themes, or plugins", "exploit WordPress vulnerabilities", or "use WPScan". It provides comprehensive WordPress security assessment methodologies.
wiki-page-writer
Generates rich technical documentation pages with dark-mode Mermaid diagrams, source code citations, and first-principles depth. Use when writing documentation, generating wiki pages, creating technical deep-dives, or documenting specific components or systems.
web3-testing
Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.
web-security-testing
Web application security testing workflow for OWASP Top 10 vulnerabilities including injection, XSS, authentication flaws, and access control issues.