jest-schema-matcher
v1.8.0
Published
[![npm version](https://badge.fury.io/js/jest-schema-matcher.svg)](https://badge.fury.io/js/jest-schema-matcher) ![Lint-Build-Test-Publish](https://github.com/ryparker/jest-schema-matcher/workflows/Lint-Build-Test-Publish/badge.svg) [![semantic-release](h
Downloads
11
Maintainers
Readme
Jest-Schema-Matcher
An opinionated Jest matcher that generates, validates, and versions JSON Schemas for your APIs.
:rocket: Quick start
- Add dependency
yarn add --dev jest-schema-matcher
- Set global variable
SHOULD_UPDATE_SCHEMAS
in your jest's global config
// jest.config.js
module.exports = {
...
globals: {
SHOULD_UPDATE_SCHEMAS: true, // If true, schemas will be written/updated
}
}
- Add the matcher to your tests
test('Check against schema', () => {
const object = {
username: 'test_user_a124',
password: 'fixtures_password',
}
expect(object).toMatchSchema('schemaName')
/**
* 1. If SHOULD_UPDATE_SCHEMAS === true:
* Will create a new schema or update existing schema in same path as test file.
* E.g. If test path is `.../__tests__/sample.tests.js`
* Then schema will be created in `.../__tests__/schemas/schemaName.json`
* --or--
* If SHOULD_UPDATE_SCHEMAS === false:
* Will infer a new schema and recommend schema changes if the saved schema could be improved.
*/
/** 2. Will validate `object` against saved schema.*/
})