A Ruby library for testing your library against different versions of dependencies in repeatable scenarios.
Appraisal is a Ruby library that helps developers test their libraries against different versions of dependencies. It creates isolated testing scenarios called "appraisals" that combine your main Gemfile with specific version requirements, allowing you to check for regressions across dependency versions without polluting your development environment.
Ruby library maintainers and developers who need to ensure their gems work correctly across multiple versions of dependencies like Rails or other gems.
Appraisal provides a clean, repeatable way to test against multiple dependency versions without manual Gemfile switching. It integrates seamlessly with bundler and rake, making it easier to maintain compatibility and catch regressions early in the development cycle.
A Ruby library for testing your library against different versions of dependencies.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates directly with Bundler to manage and lock dependencies for each appraisal, creating isolated, reproducible test environments without manual Gemfile switching.
Allows running tests across all appraisals with a single command like `bundle exec appraisal rake test`, streamlining regression testing workflows.
Supports customization of generated Gemfiles with headings and formatting options, including variable substitution for appraisal names and paths, enhancing clarity.
Provides specific configuration examples for CI systems like Circle CI, making it easy to set up continuous integration for multiple dependency versions.
Requires gems to be installed in the global namespace, which can conflict with system gems and isn't compatible with local Bundler paths or isolated environments.
Needs changes to the Rakefile for default task overriding, which the README admits can conflict with CI setups that split tests into multiple processes.
Recommends checking in generated Gemfiles but excluding lockfiles, adding complexity to repository management and potential for dependency drift.