json-schema-mocker

Never hardcode mock data again, generate it from schemas instead!

Usage no npm install needed!

<script type="module">
  import jsonSchemaMocker from 'https://cdn.skypack.dev/json-schema-mocker';
</script>

README

json-schema-mocker

Overview & motivation

Hardcoding mock data is the devil's plaything. As your code evolves and grows, it's easy for its test suites to drift away from the real state of the your application. All it takes is forgetting to update your mock data alongside your schemas and suddenly, your tests are all invalid.

json-schema-mocker removes the need for hardcoded mock data by generating schema-compliant mock data on the fly based on your JSON Schema. This way, you can focus on what the mock data should be like instead of what it is.

Installing

yarn add json-schema-mocker -D

or

npm install json-schema-mocker --save-dev

Usage

// Adjust the import for the fact that this isn't yet published on NPM.
import MockGenerator from 'json-schema-mocker'

describe('My cool testsuite', () => {
    const myGenerator = new MockGenerator()
    it('Even cooler testcase', () => {
        const mySchema = { ... }
        const myMockData = myGenerator.buildMock(mySchema)

        // Use your mock data knowing it matches your schema!
    })
})

Feature roadmap

Types

Numeric types

  • type
  • maximum
  • minimum
  • multipleOf
  • exclusiveMinimum (Extrema are always exclusive)
  • exclusiveMaximum (Extrema are always exclusive)

Object

  • type
  • properties
  • additionalProperties
  • required
  • propertyNames.pattern
  • minProperties
  • maxProperties
  • dependencies
  • patternProperties

Array

  • type
  • items
  • items (tuple validation)
  • minItems
  • maxItems
  • uniqueItems

Boolean

  • type

Null

  • type

String

  • type
  • pattern
  • maxLength
  • minLength
  • format