json-schema-fast-check
JSON Schema is a useful way to define input and output schemas.
Property testing is a useful way to make sure that a function behaves as expected with any valid input.
json-schema-fast-check
implements arbitrary JSON Schema values using the fast-check
library for property testing.
Example
;; ? Math.floordata.age : null; test"my function yields positive age or null",;
API
The API has only two functions - the default one (which we call jsfc
just cuz) and a helper function called generate
.
jsfc
(default)
;
Creates a fast-check
arbitrary from valid JSON schema.
generate
;
Generates a single valid JSON object that conforms to the schema.
A note on JSON Schema
The actual schema used here is not JSON Schema but rather a subset of JSON Schema called "The Subest of JSON Schema I Was Not Too Lazy To Define." I also added some faker-js
sugar (see the tests).
Todo
There is plenty of stuff that is not implemented yet. I'd really appreciate your help!
minProperties
andmaxProperties
for objectsadditionalItems
for arraystuples
bigger than length 16if/then/else
syntax- proper use of
oneOf
- use objects as
dependencies
as well as arrays