Rakefile in chef-vault-2.4.0 vs Rakefile in chef-vault-2.5.0

- old
+ new

@@ -1,16 +1,53 @@ require 'bundler/gem_tasks' -require 'rspec/core/rake_task' -require 'cucumber' -require 'cucumber/rake/task' -RSpec::Core::RakeTask.new(:spec) +# Style Tests +begin + require 'rubocop/rake_task' + RuboCop::RakeTask.new do |t| + t.formatters = ['progress'] + t.options = ['-D'] + t.patterns = %w( + lib/**/*.rb + spec/**/*.rb + ./Rakefile + ) + end -Cucumber::Rake::Task.new(:features) + # style is an alias for rubocop + task style: :rubocop +rescue LoadError + puts 'Rubocop not available; disabling rubocop tasks' +end -task default: [:spec, :features] +# Unit Tests +begin + require 'rspec/core/rake_task' + RSpec::Core::RakeTask.new -task :coverage do - ENV['COVERAGE'] = '1' - Rake::Task[:spec].invoke - Rake::Task[:features].invoke + # Coverage + desc 'Generate unit test coverage report' + task :coverage do + ENV['COVERAGE'] = 'true' + Rake::Task[:spec].invoke + end +rescue LoadError + puts 'RSpec not available; disabling rspec tasks' + # create a no-op spec task for :default + task :spec end + +# Feature Tests +begin + require 'cucumber' + require 'cucumber/rake/task' + Cucumber::Rake::Task.new(:features) +rescue LoadError + puts 'Cucumber/Aruba not available; disabling feature tasks' + # create a no-op spec task for :default + task :features +end + +# test or the default task runs spec and features +desc 'run all tests' +task default: [:spec, :features] +task test: :default