Sha256: b65ca18e33e28c2ffc6a5ccafdbda3f5596dbbf7bcd97715f94093beb44ead46
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
namespace :spec do namespace :db do databases = %i[postgresql mysql sqlite3] desc 'Run specs against all databases' task :all do failed = false databases.each do |database| test_against database end end databases.each do |database| desc "Run specs against '#{database}' database" task database do return test_against database end end def test_against(kind) sample = Rails.root + "config/database~#{kind}.sample.yml" custom = Rails.root + 'config/database~custom.yml' backup = Rails.root + 'config/database~custom.yml.backup' mv custom, backup if custom.exist? cp sample, custom succeeded = nil begin Dir.chdir(Rails.root) do puts puts "## Database: #{kind}" succeeded = system 'unset BUNDLE_GEMFILE BUNDLE_BIN_PATH RUBYOPT; bundle --quiet && rake db:create:all db:migrate db:test:prepare spec' end ensure rm custom mv backup, custom if backup.exist? end raise "Tests failed against database '#{kind}'" unless succeeded end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
calagator-1.1.0 | lib/tasks/spec_db.rake |