Composure
Testing

Tests that match your project's style

Testbench reads your existing tests first. Then it writes new ones that look like yours — same imports, same patterns, same conventions.

100%

Convention match

Reads before writing

3x

Self-healing retries

Fix and rerun automatically

8+

Test frameworks

Vitest, Jest, Playwright, pytest...

150

Line limit

Auto-splits large test files

AI-generated tests look nothing like yours

Wrong import style

AI writes `import { render } from '@testing-library/react'` when your project uses `import { customRender } from '../test-utils'`. Every generated test needs manual cleanup.

Generic patterns

Without reading your existing tests, AI defaults to basic patterns — missing your custom matchers, setup functions, mock strategies, and naming conventions.

No coverage awareness

AI generates tests for easy functions while high-impact, heavily-called functions with zero coverage are ignored. No prioritization by actual risk.

Convention-first test generation

Testbench reads 2-3 existing test files before generating anything. It extracts your import style, mock patterns, assertion conventions, file structure, and naming style. Then it generates tests that are indistinguishable from hand-written ones — same patterns, same imports, same style. Coverage analysis uses the code graph to prioritize high-impact untested functions by caller count.

terminal
$/testbench:generate src/lib/auth.ts$→ Reading conventions from 3 existing test files...$  Import style: vitest + @testing-library/react$  Mock pattern: vi.mock with factory$  Naming: describe/it with behavior descriptions$  Setup: beforeEach with custom renderWithProviders$→ Generated 8 tests:$  4 happy path | 2 edge cases | 2 error cases$  Style: matches project conventions ✓$  All 8 passing ✓

How it works

1

Read existing conventions

Testbench scans your test files for import patterns, mock strategies, assertion styles, naming conventions, and setup patterns. This happens automatically before any generation.

2

Generate matching tests

Tests are generated in categories: happy path → edge cases → error cases → type contracts. Each test follows your project's exact conventions.

3

Run and self-heal

Generated tests are run immediately. If any fail, Testbench reads the error, fixes the test, and retries — up to 3 attempts before reporting failure.

4

Prioritize by impact

Coverage analysis integrates with the code graph to identify high-impact untested functions — sorted by caller count, not random selection.

Ready to try it?

Free for personal use. Takes 2 minutes to install.