Generate specs for your rails application the easy way. Regressor generates model and controller specs based on validations, associations, enums, database, routes, callbacks. Use regressor to capture your rails application behaviour.
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
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
Then require the gem dependency 'shoulda-matchers' in your railshelper (or spechelper if you're using RSpec 2.x):
ruby require 'shoulda/matchers'
If you are using mongoid please add mongoid-rspec.
Be sure to run the generators in the
testenvironment 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
ruby RAILS_ENV=test rails generate regressor:factory # Create empty factories based on your models
Empty factories can be created.
git checkout -b my-new-feature)
git commit -am 'Add some feature')
git push origin my-new-feature)