Crystalball is a Ruby library which implements Regression Test Selection mechanism originally published by Aaron Patterson. Its main purpose is to select a minimal subset of your test suite which should be run to ensure your changes didn't break anything.
Add this line to your application's Gemfile:
group :test do
gem 'crystalball'
endAnd then execute:
$ bundle
Or install it yourself as:
$ gem install crystalball
Please see our official documentation.
We use semantic versioning for our releases.
Crystalball requires Ruby 3.2 or newer. The current development target is Ruby 4.0.6 with Rails 8.1.3.1. CI also tests Ruby 3.2, 3.3, and 3.4.
After checking out the repo, install the toolchain and dependencies:
mise install
mise exec -- bundle installThen, run mise exec -- bundle exec rspec spec features to run the tests. You can also run mise exec -- bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run mise exec -- bundle exec rake install.
Bug reports and pull requests are welcome on GitHub at https://github.com/toptal/crystalball. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Crystalball is released under the MIT License.