Testbench reads your existing tests first. Then it writes new ones that look like yours — same imports, same patterns, same conventions.
100%
Convention match
convention extraction from 2-3 existing test files before generation
3x
Self-healing retries
Fix and rerun automatically — reports on 4th failure, never commits broken tests
8+
Test frameworks
Vitest, Jest, Playwright, Cypress, pytest, Go test, Cargo test, RSpec, PHPUnit
150
Line limit
Auto-splits large test files
AI writes `import { render } from '@testing-library/react'` when your project uses `import { customRender } from '../test-utils'`. Every generated test needs manual cleanup.
Without reading your existing tests, AI defaults to basic patterns — missing your custom matchers, setup functions, mock strategies, and naming conventions.
AI generates tests for easy functions while high-impact, heavily-called functions with zero coverage are ignored. No prioritization by actual risk.
Testbench does not commit broken tests. After 3 self-heal retries, it reports the failing test and stops — the commit gate holds until tests pass.
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.
See it in the field. One recent campaign closed at 197/197 tests passing — and its acceptance gate re-ran verification after every loopback, so "done" meant re-tested, not just written. The session record is public:
$/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 ✓Testbench scans your test files for import patterns, mock strategies, assertion styles, naming conventions, and setup patterns. This happens automatically before any generation.
Tests are generated in categories: happy path → edge cases → error cases → type contracts. Each test follows your project's exact conventions.
Generated tests are run immediately. If any fail, Testbench reads the error, fixes the test, and retries — up to 3 attempts before reporting failure.
Coverage analysis integrates with the code graph to identify high-impact untested functions — sorted by caller count, not random selection.