Skip to main content

Framework and Runner Support

Atomic Testing is an atomic table: every runtime, runner and design-system driver is one small npm package sharing the same contract. This page is the single place to check whether your stack is in the table today โ€” and how strongly each combination is supported.

What's supported

The Atomic Table.

Every runtime, runner and design system is one small npm package with the same contract. New elements arrive without touching your tests.

Runtimes
  • ReReactv16โ€“19
  • VuVuev3
  • AnAngularv20โ€“22
  • SvSvelteunclaimed
Runners
  • JeJestjsdom
  • ViVitestjsdom ยท browser
  • SbStorybookportable stories
  • ๐ŸŽญPwPlaywrighte2e ยท real browser
  • CyCypressunclaimed
Design-system drivers
  • HtPlain HTMLall frameworks
  • MuMaterial UIreact ยท v5โ€“7
  • MxMUI Xreact
  • RxRadix UIreact
  • Shshadcn/uireact
  • โœณAsAstryxreact ยท meta
  • FlFluent UI v9 (Fluent 2)React
  • PvPrimeVuevue 3
  • ReReka UIVue 3
  • AmNg Materialangular
  • ??Your driverone file, not a fork

How strongly

Tiers, not promises.

Framework ร— runner, generated from the compatibility data behind create atomic-testing โ€” it can't drift from what the CLI scaffolds.

Framework by runner support tiers
JestVitestStorybookPlaywright
ReactVerifiedExperimentaljsdom ยท browserExperimentalExperimental
Vue 3VerifiedExperimentaljsdom onlyyour PR โ†’Experimental
AngularโŠ˜DisabledExperimentalbrowser mode onlyyour PR โ†’Experimental
  • Verified โ€” green fixture in the monorepo
  • Experimental โ€” CLI warns before writing
  • โŠ˜ Disabled โ€” refused with a reason
  • Waiting for a PR
Generated, not hand-maintained

The tier matrix is generated from the same compatibility data that powers create atomic-testing, so it can't drift from what the scaffolder actually offers: if a combination isn't there, the CLI won't emit it either. The dashed tiles and your PR โ†’ cells are deliberate gaps โ€” Svelte, Cypress and a Vue/Angular Storybook recipe aren't built yet. Each is a driver or recipe away, not a fork.

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.
  • Waiting for a PR โ€” a dashed your PR โ†’ cell (or an unclaimed tile) is a slot left open on purpose: the combination isn't wired up yet, but the atomic contract means it's a driver or recipe away, not a rewrite.

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.

The Storybook columnโ€‹

The Storybook column is the @atomic-testing/storybook package, which runs portable stories under Vitest browser mode (@storybook/addon-vitest) with no framework act()/nextTick() wrapping. It isn't one of the runners create atomic-testing scaffolds, so it sits outside the generated matrix: React has a proven path today, while Vue and Angular are open for a contribution.

Refused combinationsโ€‹

Some cells are disabled or simply waiting for a PR, and the CLI refuses the disabled ones 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 TestEngine ships 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.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.