allure-cucumber 0.5.3 → 0.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/allure-cucumber.rb +24 -8
- data/lib/allure-cucumber/formatter.rb +28 -3
- data/lib/allure-cucumber/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f4d0cf721d42e8750d2c0658c763dc2436fd1e6
|
4
|
+
data.tar.gz: c06e1a7de154ddd529b0d7582278da41b6f9d690
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8b89c3168c40693e8ab773d4a8cd9e2735f7b9d8db0ffd31282e6b583636f2813d554958332c3d3795037a540c712a1c9eab320bd07f974b487066c8a4a1486
|
7
|
+
data.tar.gz: cd6e6cde9d76aa525ef1cfc4b84d92a1e5de08b144d9a5299f1dc2c112a85a9e33bec8276117ee91f71bb2e973c0bd3b2e9e1808e541bbd1416236024245ee29
|
data/lib/allure-cucumber.rb
CHANGED
@@ -5,18 +5,34 @@ require 'allure-cucumber/dsl'
|
|
5
5
|
require 'allure-cucumber/formatter'
|
6
6
|
|
7
7
|
module AllureCucumber
|
8
|
-
|
8
|
+
|
9
9
|
module Config
|
10
10
|
class << self
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
|
12
|
+
attr_accessor :output_dir, :clean_dir, :tms_prefix, :issue_prefix, :severity_prefix
|
13
|
+
|
14
|
+
DEFAULT_OUTPUT_DIR = 'gen/allure-results'
|
15
|
+
DEFAULT_TMS_PREFIX = '@TMS:'
|
16
|
+
DEFAULT_ISSUE_PREFIX = '@ISSUE:'
|
17
|
+
DEFAULT_SEVERITY_PREFIX = '@SEVERITY:'
|
18
|
+
|
15
19
|
def output_dir
|
16
20
|
@output_dir || DEFAULT_OUTPUT_DIR
|
17
21
|
end
|
18
|
-
|
19
|
-
|
22
|
+
|
23
|
+
def tms_prefix
|
24
|
+
@tms_prefix || DEFAULT_TMS_PREFIX
|
25
|
+
end
|
26
|
+
|
27
|
+
def issue_prefix
|
28
|
+
@issue_prefix || DEFAULT_ISSUE_PREFIX
|
29
|
+
end
|
30
|
+
|
31
|
+
def severity_prefix
|
32
|
+
@severity_prefix || DEFAULT_SEVERITY_PREFIX
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
20
36
|
end
|
21
37
|
|
22
38
|
class << self
|
@@ -27,5 +43,5 @@ module AllureCucumber
|
|
27
43
|
end
|
28
44
|
end
|
29
45
|
end
|
30
|
-
|
46
|
+
|
31
47
|
end
|
@@ -8,9 +8,9 @@ module AllureCucumber
|
|
8
8
|
include AllureCucumber::DSL
|
9
9
|
|
10
10
|
TEST_HOOK_NAMES_TO_IGNORE = ['Before hook', 'After hook']
|
11
|
-
|
11
|
+
ALLOWED_SEVERITIES = ['blocker', 'critical', 'normal', 'minor', 'trivial']
|
12
12
|
POSSIBLE_STATUSES = ['passed', 'failed', 'pending', 'skipped', 'undefined']
|
13
|
-
|
13
|
+
|
14
14
|
def initialize(step_mother, io, options)
|
15
15
|
dir = Pathname.new(AllureCucumber::Config.output_dir)
|
16
16
|
FileUtils.rm_rf(dir) unless AllureCucumber::Config.clean_dir == false
|
@@ -18,6 +18,7 @@ module AllureCucumber
|
|
18
18
|
@tracker = AllureCucumber::FeatureTracker.create
|
19
19
|
@deferred_before_test_steps = []
|
20
20
|
@deferred_after_test_steps = []
|
21
|
+
@scenario_tags = {}
|
21
22
|
end
|
22
23
|
|
23
24
|
# Start the test suite
|
@@ -37,6 +38,23 @@ module AllureCucumber
|
|
37
38
|
@scenario_outline ? @scenario_outline_name = scenario_name : @tracker.scenario_name = scenario_name
|
38
39
|
end
|
39
40
|
|
41
|
+
# Analyze Cucumber Scenario Tags
|
42
|
+
def after_tags(tags)
|
43
|
+
tags.each do |tag|
|
44
|
+
if AllureCucumber::Config.tms_prefix && tag.name.include?(AllureCucumber::Config.tms_prefix)
|
45
|
+
@scenario_tags[:testId] = remove_tag_prefix(tag.name, AllureCucumber::Config.tms_prefix)
|
46
|
+
end
|
47
|
+
|
48
|
+
if tag.name.include?(AllureCucumber::Config.issue_prefix)
|
49
|
+
@scenario_tags[:issue] = remove_tag_prefix(tag.name, AllureCucumber::Config.issue_prefix)
|
50
|
+
end
|
51
|
+
|
52
|
+
if tag.name.include?(AllureCucumber::Config.severity_prefix) && ALLOWED_SEVERITIES.include?(trim_tag(tag.name, AllureCucumber::Config.severity_prefix))
|
53
|
+
@scenario_tags[:severity] = remove_tag_prefix(tag.name, AllureCucumber::Config.severity_prefix).downcase.to_sym
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
40
58
|
def before_examples(*args)
|
41
59
|
@header_row = true
|
42
60
|
@row_count = 0
|
@@ -124,6 +142,10 @@ module AllureCucumber
|
|
124
142
|
|
125
143
|
private
|
126
144
|
|
145
|
+
def remove_tag_prefix(tag, prefix)
|
146
|
+
tag.gsub(prefix,'')
|
147
|
+
end
|
148
|
+
|
127
149
|
def step_status(result)
|
128
150
|
POSSIBLE_STATUSES.each do |status|
|
129
151
|
return cucumber_status_to_allure_status(status) if result.send("#{status}?")
|
@@ -160,7 +182,9 @@ module AllureCucumber
|
|
160
182
|
|
161
183
|
def start_test
|
162
184
|
if @tracker.scenario_name
|
163
|
-
|
185
|
+
@scenario_tags[:feature] = @tracker.feature_name
|
186
|
+
@scenario_tags[:story] = @tracker.scenario_name
|
187
|
+
AllureRubyAdaptorApi::Builder.start_test(@tracker.feature_name, @tracker.scenario_name, @scenario_tags)
|
164
188
|
post_deferred_steps
|
165
189
|
end
|
166
190
|
end
|
@@ -187,6 +211,7 @@ module AllureCucumber
|
|
187
211
|
@tracker.scenario_name = nil
|
188
212
|
@deferred_before_test_steps = []
|
189
213
|
@deferred_after_test_steps = []
|
214
|
+
@scenario_tags = {}
|
190
215
|
end
|
191
216
|
end
|
192
217
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: allure-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Imran Khan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -107,5 +107,5 @@ rubyforge_project:
|
|
107
107
|
rubygems_version: 2.4.8
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
|
-
summary: allure-cucumber-0.5.
|
110
|
+
summary: allure-cucumber-0.5.4
|
111
111
|
test_files: []
|