Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wellguimaraes/mocha-snapshots

Snapshot/regression testing for using with Mocha, specially for React+Enzyme users.
https://github.com/wellguimaraes/mocha-snapshots

enzyme mocha react snapshots testing

Last synced: 5 days ago
JSON representation

Snapshot/regression testing for using with Mocha, specially for React+Enzyme users.

Awesome Lists containing this project

README

        

# Mocha Snapshots
Snapshot/regression testing for using with Mocha, specially for React+Enzyme users.

## Install it
`npm i mocha-snapshots --save`

## Use it
```es6
import { expect } from 'chai';
import { shallow } from 'enzyme';
import MyComponent from './path/to/MyComponent';

describe('', () => {
it('should match snapshot', () => {
const wrapper = shallow()

// You can match Enzyme wrappers
expect(wrapper).to.matchSnapshot();

// Strings
expect('you can match strings').to.matchSnapshot();

// Numbers
expect(123).to.matchSnapshot();

// Or any object
expect({ a: 1, b: { c: 1 } }).to.matchSnapshot();

});
});
```

## Run your tests
Add a require argument to your test script/command

`mocha --require mocha-snapshots`

## Disable classNames cleanup
To prevent false mismatches, mocha-snapshots sanitizes className props by default. You can disable this behavior before running your tests:
```js
import mochaSnapshots from 'mocha-snapshots';

mochaSnapshots.setup({ sanitizeClassNames: false })
```

## Update snapshots
Set an environment variable `UPDATE` and run your test script or add the flag `--update` when running Mocha:

```
UPDATE=1 mocha --require mocha-snapshots
```
or
```
mocha --require mocha-snapshots --update
```