60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | <h1 align="center"> | ||
|  |   <img src="https://jestjs.io/img/jest.png" height="150" width="150"/> | ||
|  |   <img src="https://jestjs.io/img/circus.png" height="150" width="150"/> | ||
|  |   <p align="center">jest-circus</p> | ||
|  |   <p align="center">The next-gen test runner for Jest</p> | ||
|  | </h1> | ||
|  | 
 | ||
|  | ## Overview
 | ||
|  | 
 | ||
|  | Circus is a flux-based test runner for Jest that is fast, easy to maintain, and simple to extend. | ||
|  | 
 | ||
|  | Circus allows you to bind to events via an optional event handler on any [custom environment](https://jestjs.io/docs/en/configuration#testenvironment-string). See the [type definitions](https://github.com/facebook/jest/blob/master/packages/jest-circus/src/types.ts) for more information on the events and state data currently available. | ||
|  | 
 | ||
|  | ```js | ||
|  | import {NodeEnvironment} from 'jest-environment-node'; | ||
|  | import {Event, State} from 'jest-circus'; | ||
|  | 
 | ||
|  | class MyCustomEnvironment extends NodeEnvironment { | ||
|  |   //... | ||
|  | 
 | ||
|  |   handleTestEvent(event: Event, state: State) { | ||
|  |     if (event.name === 'test_start') { | ||
|  |       // ... | ||
|  |     } | ||
|  |   } | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | Mutating event or state data is currently unsupported and may cause unexpected behavior or break in a future release without warning. New events, event data, and/or state data will not be considered a breaking change and may be added in any minor release. | ||
|  | 
 | ||
|  | ## Installation
 | ||
|  | 
 | ||
|  | Install `jest-circus` using yarn: | ||
|  | 
 | ||
|  | ```bash | ||
|  | yarn add --dev jest-circus | ||
|  | ``` | ||
|  | 
 | ||
|  | Or via npm: | ||
|  | 
 | ||
|  | ```bash | ||
|  | npm install --save-dev jest-circus | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Configure
 | ||
|  | 
 | ||
|  | Configure Jest to use `jest-circus` via the [`testRunner`](https://jestjs.io/docs/en/configuration#testrunner-string) option: | ||
|  | 
 | ||
|  | ```json | ||
|  | { | ||
|  |   "testRunner": "jest-circus/runner" | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | Or via CLI: | ||
|  | 
 | ||
|  | ```bash | ||
|  | jest --testRunner='jest-circus/runner' | ||
|  | ``` |