rut
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

Rut

Build Status npm version npm deps

Rut is a DOM-less React testing library that aims to be lightweight, encourage great testing practices, and reduce flakiness and code smells. It is a wrapper and abstraction around react-test-renderer that simplifies the test writing process, while doing all the hard work behind the scenes.

This package provides core functionality for adapters to expand upon. For example, a DOM adapter for react-dom, a mobile native adapter for react-native, or even a custom adapter unique to your application.

Features

  • Type safe by design. Test with confidence.
  • First-class async support. Wait for async calls to finish before returning a rendered result. (Experimental)
  • Deep act() integration. Let Rut do the heavy lifting.
  • Update a component with new props, children, or a completely new element.
  • Unmount a component to verify cleanup and destructor based logic.
  • Dispatch DOM level events with a mocked synthetic event (and propagation coming soon!).
  • Wrap all renders with a defined wrapping component and or React.StrictMode.
  • Apply pre-built mocks for robust and accurate testing.
  • Utilize an array of pre-built matchers for easily querying, expecting, and asserting.

Requirements

  • React 16.9+ (Rut v1)
  • React 17+ (Rut v2)

Installation

yarn add --dev rut react

Documentation

https://milesj.gitbook.io/rut

Package Sidebar

Install

npm i rut

Weekly Downloads

25

Version

2.0.0

License

MIT

Unpacked Size

169 kB

Total Files

115

Last publish

Collaborators

  • milesj