Regressor is a regression based testing tool. What is regression testing? see here. You can generate specs based on your ActiveRecord models.
Made with ♥ at Qurasoft
Directly from GitHub
gem 'regressor', git: 'https://github.com/ndea/regressor.git', branch: 'master'
gem 'regressor', '~> 0.6.2'
bundle install rails g regressor:install
This will create an initializer in config/initializers. This initializers looks like this:
# If the regressor gem is inside a group wrap your initializer in # if defined?(Regressor) do .. end Regressor.configure do |config| # Defines the path where the generated files for your models will be placed # config.regression_path = 'spec/models/regression' # Defines the path where the generated files for your controllers will be placed # config.regression_controller_path = 'spec/controllers/regression' # Exclude Models for regression spec generation. # Provide model names as String (e.g. 'User') # config.excluded_models =  # Exclude Controllers for regression generation. # Provide controller names as String (e.g. 'UsersController'). # config.excluded_controllers =  # If you are using enums in Rails 4 enable this option to generate regression specs for enums. # If your Rails version is =< Rails 3 set this option to false. # Default this option is set to true. # config.include_enums = true end
Then require the gem dependency 'shoulda-matchers' in your rails_helper (or spec_helper if you're using RSpec 2.x):
If you are using mongoid please add mongoid-rspec.
Run the generator:
Be sure to run the generators in the
test environment so that
development-only gems are not being loaded, causing strange issues with controller filters and ActiveRecord callbacks.
RAILS_ENV=test rails generate regressor:model # Create Regression specs for your models RAILS_ENV=test rails generate regressor:controller # Create Regression specs for your controllers
RAILS_ENV=test rails generate regressor:mongoid:model # Create regression specs for your mongoid models
You can even generate empty factories for your models simply by running
RAILS_ENV=test rails generate regressor:factory # Create empty factories based on your models
Empty factories can be created.
- Nested Attributes
- Enums (Rails 4)
- Before filter
- After filter
- Around filter
- Fork it ( https://github.com/ndea/regressor/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
Contribution topics wanted
- Anything that improves this gem