Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Property-Based Testing Tools
  3. Rantly

Rantly

What it is

Rantly is a free, self-hosted Ruby library for generating random test data and running property-based checks. It describes its implementation as a recursive-descent interpreter whose methods return random values such as strings, integers, and floats. Generators include integers, ranges, floats, booleans, choices, weighted frequencies, arrays, strings, and hashes. Documented integrations cover Test::Unit, Minitest, and RSpec. Property checks run 100 times by default; a check argument or the RANTLY_COUNT environment variable can change that count. Optional shrinking can reduce failing values, but the documented search stops at 1,024 operations, does not traverse the complete failure tree, and does not shrink ordinary arrays or hashes. Install Rantly with gem install rantly or add it to a Gemfile. The README requires Ruby 3.2 or newer, while the RubyGems listing for version 3.0.0 specifies Ruby 3.3.0 or newer. The project code uses the MIT License and welcomes contributors.

For and against

For

  • Free MIT-licensed Ruby library
  • Many built-in random data generators
  • Supports Test::Unit, Minitest, and RSpec
  • Configurable property-check count
  • Optional failing-case shrinking

Against

  • Ordinary arrays and hashes are not shrunk
  • Shrinking search stops at 1,024 operations
  • Ruby version requirements differ by source
  • Self-hosted setup required

The verdict

Rantly provides broad random data generation and integrations for Ruby property testing. Its shrinking behavior has documented limits, and users should check the applicable Ruby requirement before installation.

Who it suits

Rantly suits Ruby developers writing property-based tests with Test::Unit, Minitest, or RSpec. It is useful when random generators and optional failing-case shrinking are needed in a self-hosted library.

Plans and prices

Rantly

Free

Ruby library · MIT license

Every plan, in full

On the record

Data generators
Its generators include integers, ranges, floats, booleans, choices, weighted frequencies, arrays, strings, and hashes.github.com · read 9 Oct 2026
Implementation
Rantly describes itself as a recursive-descent interpreter whose methods return random values such as strings, integers, and floats.github.com · read 9 Oct 2026
Install
The README says to install it with `gem install rantly` or add it to a Gemfile.github.com · read 9 Oct 2026
License
The project code is published under the MIT License.github.com · read 9 Oct 2026
Maintainers
The project README welcomes new contributors.github.com · read 9 Oct 2026
Package release
RubyGems lists version 3.0.0 dated October 21, 2024.rubygems.org · read 9 Oct 2026
Platform requirement
RubyGems lists the required Ruby version for version 3.0.0 as >= 3.3.0.rubygems.org · read 9 Oct 2026
Property test count
Property checks run 100 times by default, with the count configurable by an argument to `check` or the `RANTLY_COUNT` environment variable.github.com · read 9 Oct 2026
Purpose
Rantly generates random test data and provides a Test::Unit extension for property-based testing.github.com · read 9 Oct 2026
Ruby requirement
The repository README says Rantly requires Ruby 3.2 or higher.github.com · read 9 Oct 2026
Shrinking
Optional shrinking can reduce failing values; the documented search is limited to at most 1024 shrinking operations and does not fully traverse the failure tree.github.com · read 9 Oct 2026
Shrinking limitation
The README says ordinary arrays and hashes are not shrunk.github.com · read 9 Oct 2026
Testing integrations
The README documents extensions for Test::Unit, Minitest, and RSpec.github.com · read 9 Oct 2026

Alternatives to Rantly

Every alternative, ranked