forked from troessner/reek
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.rake
54 lines (43 loc) · 1.28 KB
/
test.rake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
require 'rubygems'
require 'cucumber'
require 'cucumber/rake/task'
require 'spec'
require 'spec/rake/spectask'
namespace 'test' do
UNIT_TESTS = FileList['spec/reek/**/*_spec.rb']
Spec::Rake::SpecTask.new('spec') do |t|
t.spec_files = UNIT_TESTS
t.spec_opts = ['--color']
t.ruby_opts = ['-Ilib']
t.rcov = false
end
desc 'Tests various release attributes of the gem'
Spec::Rake::SpecTask.new('gem') do |t|
t.spec_files = FileList['spec/gem/**/*_spec.rb']
t.rcov = false
end
desc 'Tests code quality'
Spec::Rake::SpecTask.new('quality') do |t|
t.spec_files = FileList['quality/**/*_spec.rb']
t.spec_opts = ['--color']
t.ruby_opts = ['-Ilib']
t.rcov = false
end
desc 'Runs all unit tests under RCov'
Spec::Rake::SpecTask.new('rcov') do |t|
t.spec_files = UNIT_TESTS
t.rcov = true
t.rcov_dir = 'build/coverage'
end
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "features --format progress --color"
end
desc 'Runs all unit tests and acceptance tests'
task 'all' => ['test:spec', 'test:features']
task 'release' => ['test:gem', 'test:all']
end
task 'clobber_rcov' => 'test:clobber_rcov'
desc 'Synonym for test:spec'
task 'spec' => 'test:spec'
desc 'Synonym for test:all'
task 'test' => 'test:all'