Skip to content
SPECIFICTION
Get listed

JSVerify vs PropCheck

JSVerify

jsverify.github.io

PropCheck

github.com

Side by side

FigureJSVerifyPropCheck
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
Linux—Yes
Self-hostedYesYes
Plans published11
Spec score · Property-Based Testing Tools8.1 (#5)8.0 (#7)
InstallationThe project README instructs users to install the module with npm install jsverify.The README says to add `gem 'prop_check'` to a Gemfile or install it with `gem install prop_check`.
LicenseThe GitHub repository identifies the project license as MIT.The project is released under the MIT License.
PurposeJSVerify is a property-based testing library for JavaScript, inspired by QuickCheck.PropCheck is a Ruby library for property-based testing that checks assertions against generated inputs.

Plans

JSVerify

  • JSVerifyFree

JSVerify pricing →

PropCheck

  • Community libraryFree

PropCheck pricing →

In their own words

JSVerify

JSVerify is a free, open-source property-based testing library for JavaScript, inspired by QuickCheck. It generates inputs and checks whether a stated property holds across them. When a check fails, it attempts to shrink the generated input into a smaller counterexample. Properties can return Promises, allowing asynchronous methods to be tested. JSVerify is framework agnostic; the project names Mocha, nodeunit, and Jasmine as examples. The README instructs users to install it with `npm install jsverify` and says TypeScript typings are provided, though TypeScript specs cannot use the type DSL. Documented defaults are 100 tests and a maximum generated-value size of 50. Options cover test count, maximum generated size, quiet output, and random generator state. Generated values are deterministic when using primitives from the random module, and the RNG state can be set. The project is maintained by phadej and licensed under MIT. Its official site points to the GitHub README for API and usage documentation. The README cautions that exposed utility functions may change incompatibly, including in patch releases.

Visit jsverify.github.io

PropCheck

PropCheck is a Ruby library for property-based testing: it generates inputs and checks whether assertions hold across them. When a generated example fails, it tries to simplify that case into a smaller counterexample. Built-in generators cover integers, floats, strings, symbols, arrays, hashes, sets, dates, times and datetimes. A generator DSL lets developers define their own, while the API also supports mapping and binding values, alternatives and weighted frequency choices.

Before, after and around hooks provide setup and cleanup around generated examples. The README gives usage examples for RSpec, MiniTest, test-unit and vanilla Ruby, and says the library has no external dependencies. PropCheck requires Ruby 2.5.1 or later and is released under the MIT License. It is available as a free Community library. Installation can be done through a Gemfile or with `gem install prop_check`. For generated examples involving a database, the README recommends cleaning database state around each example and mentions DatabaseCleaner. Stateful property testing is described as a possible future separate add-on.

Visit github.com