forked from dzmitrys-dev/rubytestautomationframework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
79 lines (71 loc) · 2.4 KB
/
Rakefile
File metadata and controls
79 lines (71 loc) · 2.4 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
require 'rubygems'
require 'cucumber'
require 'cucumber/rake/task'
# Automatic rerun stuff
def run_rake_task(name)
begin
Rake::Task[name].execute
rescue Exception => e
return false
end
true
end
Cucumber::Rake::Task.new(:rerun) do |task|
unless File.zero?('rerun.txt')
File.open('rerun.txt', 'w+').close
end
ENV['FEATURE'] = ''
task.cucumber_opts = ["@rerun.txt",
"-r features",
"--format junit --out junit",
"--format html --out cucumber_rerun.html",
"--format json --out cucumber_rerun.json",
"--format pretty --color"]
end
Cucumber::Rake::Task.new(:all) do |task|
selenium_successful = run_rake_task("all_rerun")
rerun_successful = true
unless selenium_successful
puts "\n\n Rerunning failed tests"
rerun_successful = run_rake_task("rerun")
end
unless selenium_successful || rerun_successful
fail 'Cucumber tests failed'
end
end
Cucumber::Rake::Task.new(:all_rerun) do |task|
task.cucumber_opts = ["--format junit --out junit",
"--format html --out cucumber.html",
"--format json --out cucumber.json",
"-f rerun --out rerun.txt",
"--format pretty --color",
"features"]
end
Cucumber::Rake::Task.new(:all_no_rerun) do |task|
task.cucumber_opts = ["--format junit --out junit",
"--format html --out cucumber.html",
"--format json --out cucumber.json",
"--format pretty --color",
"features"]
end
Cucumber::Rake::Task.new(:tag_no_rerun) do |task|
task.cucumber_opts = ["-r features",
"-t @#{ENV['TAG'] || "all"}",
"--format junit --out junit",
"--format html --out cucumber.html",
"--format json --out cucumber.json",
"-f rerun --out rerun.txt",
"--format pretty --color"]
end
task :tag do
selenium_successful = run_rake_task("tag_no_rerun")
rerun_successful = true
unless selenium_successful
puts "\n\n Rerunning failed tests"
rerun_successful = run_rake_task("rerun")
end
unless selenium_successful || rerun_successful
fail 'Cucumber tests failed'
end
end
task :default => :all