EVERYTHING XIAOMI
Get listed

PropEr

PropEr is a free, open-source tool for automated, semi-random property-based testing of Erlang programs.

Place
#15 of 28
Score
5.6
PropEr's website

What PropEr is

PropEr is a free, open-source tool for automated, semi-random property-based testing of Erlang programs. It can use Erlang type declarations as input specifications to generate data, and can test functions automatically using information in their Erlang specifications. Properties are written as Erlang expressions with predefined macros. For stateful systems, PropEr supports model-based random testing; recent releases also support targeted property-based testing using search-based techniques. The project supports EUnit and Common Test, as well as failing-case shrinking. Its generator language differs from Erlang’s type language for list expressions, allowing generators to specify particular list lengths and element types. Custom generators can express constraints that Erlang types cannot, though filtering may keep trying random values until one passes. PropEr is designed for Erlang programs, particularly pure functions and library modules for stateful code. The user guide describes obtaining source from GitHub and compiling with make, or installing through Homebrew. The software is distributed under GPL version 3 or later.

Good

  • Generates test data from Erlang type declarations.
  • Supports model-based testing of stateful systems.
  • Works with EUnit and Common Test.
  • Includes failing-case shrinking.
  • Free and distributed under GPL version 3 or later.

Watch out

  • Designed for Erlang programs.
  • Filtering may keep trying random values until one passes.
  • Self-hosted installation involves source or Homebrew.

Who it suits

PropEr is for developers testing Erlang programs, especially pure functions and library modules for stateful code. It suits users comfortable working with Erlang and a self-hosted tool.

Verdict

PropEr offers property-based and model-based testing for Erlang, with integrations for established Erlang test runners. Its language focus and generator constraints are worth considering when designing tests.

Plans and prices

From PropEr's own pricing page, checked 5 Oct 2026.

All about pricing
PlanPriceWhat it gives you
PropErFreeOpen-source software · GPL version 3 or later

The facts

Each one read from PropEr's own pages, with the date it was checked.

What it does

Automatic testing
PropEr can test functions automatically using information in their Erlang specifications.checked 5 Oct 2026
Constraints
Constraints that cannot be expressed in Erlang's type language can be expressed with custom generators; the FAQ cautions that filtering may keep trying random values until one passes.checked 5 Oct 2026
Erlang types
Erlang type declarations can be used as input specifications, and PropEr can generate data from them.checked 5 Oct 2026
Installation
The user guide describes obtaining source from GitHub, compiling it with make, or installing it with Homebrew.checked 5 Oct 2026
Integrations
The user guide explains using PropEr with EUnit and describes handling a shared ?LET macro and captured output.checked 5 Oct 2026
Intended users
PropEr is designed for testing programs written in Erlang, with a focus on pure functions and library modules for stateful code.checked 5 Oct 2026
Known limitation
PropEr's generator language and Erlang type language differ for list expressions, allowing generators to specify lists of particular lengths and element types.checked 5 Oct 2026
License
PropEr is open-source software distributed under the GPL, version 3 or later.checked 5 Oct 2026
Properties
Properties are written using Erlang expressions with predefined macros.checked 5 Oct 2026
Purpose
PropEr is a tool for automated, semi-random, property-based testing of Erlang programs.checked 5 Oct 2026
Stateful testing
It can also be used for model-based random testing of stateful systems.checked 5 Oct 2026
Support
The developers invite comments, suggestions, feature requests, bug reports, patches, and other contributions through the project website, GitHub, or email.checked 5 Oct 2026
Targeted testing
Recent releases support targeted property-based testing, which brings search-based testing techniques into property-based testing.checked 5 Oct 2026

Alternatives to PropEr

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free plan
  3. 3

    Gopter

    Free planLinuxSelf-hosted
    6.4Free plan
  4. 4

    JSVerify

    Free planWebSelf-hosted
    6.4Free plan
  5. 5

    Racket QuickCheck

    Free planLinuxmacOSWindows
    6.4Free plan
  6. 6

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan