Claire —at a glance—

Claire is a library for property-based testing for JavaScript applications. Just like Haskell’s QuickCheck or Scala’s ScalaCheck, Claire works by generating random values within a given data space and verifying if the properties declared for those values hold.


  • Getting Started

    A lightning introduction to Claire, so you can jump straight to testing.

  • Discover Claire

    A thorough tour on Claire’s concepts for leeching all you can to test your code-bases better.

  • Extending Claire

    Explains Claire’s architecture, so you can extend Claire to support new types, combinators and test runners.

  • API Reference

    A quick reference on Claire’s API, including plenty of usage examples and cross-references.

Platform Support

Claire runs on all ECMAScript 5-compliant platforms without problems. It’s been successfully tested in the following platforms:

  • 7.0+
  • 5.1
  • 15.0+
  • 10.0+
  • 21.0+
  • 0.6+

For legacy, ES3 platforms, like IE’s JScript, you’ll have to provide support for the following methods:

  • Object.keys
  • Object.create
  • Object.getPrototypeOf
  • Object.freeze (as an identity function)
  • Array.prototype.indexOf
  • Array.prototype.forEach
  • Array.prototype.filter
  • Array.prototype.reduce
  • Array.prototype.some
  • Array.prototype.every
  • String.prototype.trim

The nice es5-shim library should take care of handling all of those for you.


Claire uses the Github tracker for tracking bugs and new features.