JSCheck is a specification-driven testing tool. From a description of the properties of a system, function, or object, it will generate random test cases attempting to prove those properties, and then report its findings. That can be especially effective in managing the evolution of a program because it can show the conformance of new code to old code. It also provides an interesting level of self-documentation, because the executable specifications it relies on can provide a good view of the workings of a program.
The JSCheck program is loaded from the
jscheck.js file. It produces a single global variable,
JSC, which contains the JSCheck object.
JSC.claim, passing in
- A name, which is a description of the claim
- A predicate, which is a function that returns
truewhen the claim holds
- An array of specifiers, which describe the types of the predicate's parameters
- Optionally, a classifier function that takes the same arguments as the predicate
JSC.claimreturns a claim function, which may be passed as an argument to the
JSC.checkfunction, which will randomly generate the cases that will attempt to reject the claim. You can set the number of cases generated per claim with the