Framework and Runner Support
Atomic Testing runs across React, Vue and Angular, under several test runners, with a range of design systems. This page is the single place to check whether your stack is supported — and how strongly.
| Framework | Jest (jsdom) | Vitest (jsdom) | Vitest (browser mode + Playwright) | Playwright (e2e, real browser) |
|---|---|---|---|---|
| Reactv16, 17, 18, 19 | Verified | Experimental | Experimental | Experimental |
| Vue 3v3 | Verified | Experimental | — | Experimental |
| Angularv20, 21, 22 | Disabled | Disabled | Experimental | Experimental |
- Verified backed by a green fixture
- Experimental composed best-effort; warns before writing
- Disabled registered but refused (hover for why)
- — not offered
| Framework | Design systems |
|---|---|
| React | Plain HTML elementsMaterial UI (MUI)MUI XRadix UIshadcn/uiAstryx |
| Vue 3 | Plain HTML elementsPrimeVue |
| Angular | Plain HTML elementsAngular Material |
The tables above are generated from the same compatibility data that powers
create atomic-testing. They can't drift from what the scaffolder
actually offers: if a combination isn't here, the CLI won't emit it either.
Verified vs experimental​
Every offered combination carries a support tier:
- Verified — backed by a green fixture in this monorepo that proves the recipe works end-to-end. Today that's React + Jest and Vue 3 + Jest, together with their design-system drivers.
- Experimental — composed best-effort, with no proving fixture yet. Everything on Vitest, Angular, or Playwright falls here. The scaffolder prints a warning before writing an experimental recipe so you know you're on a less-travelled path.
On the in-process runners (Jest, Vitest, Vitest browser mode) the generated example always
drives a real state change through the framework-agnostic HTML driver,
so the example test is green regardless of tier — experimental means the surrounding config is
unproven, not that the test won't pass. The Playwright recipe is the exception: it scaffolds a
placeholder *.e2e starter test that only turns green once your app serves the page.
Refused combinations​
Some cells are disabled or simply not offered, and the CLI refuses them with a clear message rather than emitting config that can't work:
- Angular + Jest and Angular + jsdom Vitest are registered but disabled — Angular runs under Vitest browser mode in Atomic Testing. Hover the disabled badge for the exact reason.
- Vanilla / no framework is refused outright: no per-framework
TestEngineships for plain DOM yet, so pick React, Vue or Angular.
Next step​
Ready to scaffold? Head to the Quick Start — create atomic-testing
detects your framework, runner and design system, then writes a runner config and a
runnable example test for you.