allure-cucumber 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|