|
1 | 1 | require 'bundler/gem_tasks' |
| 2 | +require 'rspec/core/rake_task' |
| 3 | + |
| 4 | +RSpec::Core::RakeTask.new(:spec) |
| 5 | + |
| 6 | +task default: :spec |
2 | 7 |
|
3 | 8 | # We don't want to push tags to source control when releasing the gem |
4 | 9 | Rake::Task["release"].clear |
|
12 | 17 |
|
13 | 18 | ## Development |
14 | 19 |
|
15 | | -desc "Run normal tests (exclude no_missing_require_* specs)" |
16 | | -task :test_normal, [:skip_tag] do |_, args| |
| 20 | +RSpec::Core::RakeTask.new(:test_normal, [:skip_tag]) do |t, args| |
17 | 21 | skip_tag = args[:skip_tag] |
18 | 22 |
|
19 | | - rspec_opts = [] |
20 | | - rspec_opts << "--tag '~#{skip_tag}'" if skip_tag |
21 | | - |
22 | | - sh "bundle exec rspec --exclude-pattern 'spec/line/bot/line_bot_api_gem_spec.rb' --exclude-pattern 'spec/line/bot/line_bot_gem_spec.rb' #{rspec_opts.join(' ')}" |
| 23 | + spec_files = Dir['spec/**/*_spec.rb'] - ['spec/line/bot/line_bot_api_gem_spec.rb', 'spec/line/bot/line_bot_gem_spec.rb', 'spec/shared/no_missing_require_spec.rb'] |
| 24 | + t.pattern = spec_files.join(',') |
| 25 | + t.rspec_opts = skip_tag ? "--tag '~#{skip_tag}'" : nil |
23 | 26 | end |
24 | 27 |
|
25 | | -desc "Test line-bot-api gem spec" |
26 | | -task :test_line_bot_api do |
27 | | - sh "bundle exec rspec --pattern 'spec/line/bot/line_bot_api_gem_spec.rb'" |
| 28 | +RSpec::Core::RakeTask.new(:test_line_bot_api) do |t| |
| 29 | + t.pattern = 'spec/line/bot/line_bot_api_gem_spec.rb' |
28 | 30 | end |
29 | 31 |
|
30 | | -desc "Test line/bot gem(?) spec" |
31 | | -task :test_line_bot do |
32 | | - sh "bundle exec rspec --pattern 'spec/line/bot/line_bot_gem_spec.rb'" |
| 32 | +RSpec::Core::RakeTask.new(:test_line_bot) do |t| |
| 33 | + t.pattern = 'spec/line/bot/line_bot_gem_spec.rb' |
33 | 34 | end |
34 | 35 |
|
35 | 36 | desc "Run all tests in separate processes" |
|
0 commit comments