Atomic Testing
Portable UI testing utilities that unify test code across frameworks and libraries. The project provides a collection of packages for describing UI scenes and interacting with components consistently whether you test with React, Playwright or other tooling.
Documentation is available at https://atomic-testing.dev/.
Packages​
This repository contains multiple packages under the packages/ directory,
including but not limited to:
-
@atomic-testing/core– core APIs for defining scene parts and running tests. -
@atomic-testing/react-legacy,@atomic-testing/react-18, and@atomic-testing/react-19– adapters for React applications. -
@atomic-testing/playwright– integration with Playwright for end-to-end tests. -
Component driver packages such as
@atomic-testing/component-driver-htmland Material UI variants, used to drive specific UI components.runner.
Getting Started​
-
Install Node.js (v22.12 or newer) and pnpm (v10 or newer).
-
Install the dependencies:
pnpm install -
Add the packages you need to your project. A minimal setup might include the core and React packages:
pnpm add @atomic-testing/core @atomic-testing/react-18Additional component drivers can be installed in the same way, for example:
pnpm add @atomic-testing/component-driver-html -
Define your scene parts, create a test engine using the adapter for your framework, and write tests that interact with the scene.
For detailed guides and examples, see the online documentation.
Contributing​
Pull requests are welcome. Before submitting, run the checks defined in the root
package.json:
pnpm run check:lint
pnpm run check:style
pnpm run check:types