allure-ruby-commons 2.13.8 → 2.13.8.5
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/README.md +17 -0
- data/lib/allure-ruby-commons.rb +12 -3
- data/lib/allure_ruby_commons/result_utils.rb +14 -7
- data/lib/allure_ruby_commons/step_annotation.rb +39 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0af09f2a82010cd21b1a58513757b558ec1ed18f60149fa98f27582a90f1282d
|
4
|
+
data.tar.gz: c8bfbc4769b01c79b78f44ded358b05ffa9bd53be814c47fa50c7f0e6f4dd9b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38e8563e40e3dcd96705e3a09cacfc561043e880abfad723ee5a482e133afde13e466d134d455bfd2549dbcb947599a1ab733fefe34d768c0aaa5fb5b8089cf7
|
7
|
+
data.tar.gz: 0ae240dad3392284b54ef54d3f22abed78763c39d71a88c60382af9324c79ea28438af40cb2c08e888e973f0cf22fb3961da4f9cff1eba0018bb510b8c7140e1
|
data/README.md
CHANGED
@@ -54,6 +54,23 @@ Allure.add_attachment(name: "attachment", source: "/path/to/test.txt", type: All
|
|
54
54
|
Allure.add_link(name: "Custom Url", url: "http://www.github.com")
|
55
55
|
```
|
56
56
|
|
57
|
+
## Steps
|
58
|
+
|
59
|
+
It is possible to mark method definitions to be automatically added to report as steps. The class just needs to extend `AllureStepAnnotation`
|
60
|
+
and `step` method needs to be used before the method definition.
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
class TestHelper
|
64
|
+
extend AllureStepAnnotation
|
65
|
+
|
66
|
+
step("Singleton step")
|
67
|
+
def self.class_method; end
|
68
|
+
|
69
|
+
step("Standard step")
|
70
|
+
def standard_method; end
|
71
|
+
end
|
72
|
+
```
|
73
|
+
|
57
74
|
## Testing
|
58
75
|
|
59
76
|
Install dependencies:
|
data/lib/allure-ruby-commons.rb
CHANGED
@@ -64,6 +64,13 @@ module Allure
|
|
64
64
|
label(ResultUtils::SUITE_LABEL_NAME, value)
|
65
65
|
end
|
66
66
|
|
67
|
+
# Add tag to current test case
|
68
|
+
# @param [String] value
|
69
|
+
# @return [void]
|
70
|
+
def tag(value)
|
71
|
+
label(ResultUtils::TAG_LABEL_NAME, value)
|
72
|
+
end
|
73
|
+
|
67
74
|
# Add label to current test case
|
68
75
|
# @param [String] name
|
69
76
|
# @param [String] value
|
@@ -162,14 +169,16 @@ module Allure
|
|
162
169
|
lifecycle.stop_test_step
|
163
170
|
end
|
164
171
|
|
165
|
-
# Run passed block as step with given name
|
172
|
+
# Run passed block as step with given name and return result of yield
|
166
173
|
# @param [String] name
|
167
174
|
# @yield [] step block
|
168
|
-
# @return [
|
175
|
+
# @return [Object]
|
169
176
|
def run_step(name)
|
170
177
|
lifecycle.start_test_step(StepResult.new(name: name, stage: Stage::RUNNING))
|
171
|
-
yield
|
178
|
+
result = yield
|
172
179
|
lifecycle.update_test_step { |step| step.status = Status::PASSED }
|
180
|
+
|
181
|
+
result
|
173
182
|
rescue StandardError => e
|
174
183
|
lifecycle.update_test_step do |step|
|
175
184
|
step.status = ResultUtils.status(e)
|
@@ -59,6 +59,13 @@ module Allure
|
|
59
59
|
Label.new(FRAMEWORK_LABEL_NAME, value)
|
60
60
|
end
|
61
61
|
|
62
|
+
# Epic label
|
63
|
+
# @param [String] value
|
64
|
+
# @return [Allure::Label]
|
65
|
+
def epic_label(value)
|
66
|
+
Label.new(EPIC_LABEL_NAME, value)
|
67
|
+
end
|
68
|
+
|
62
69
|
# Feature label
|
63
70
|
# @param [String] value
|
64
71
|
# @return [Allure::Label]
|
@@ -66,6 +73,13 @@ module Allure
|
|
66
73
|
Label.new(FEATURE_LABEL_NAME, value)
|
67
74
|
end
|
68
75
|
|
76
|
+
# Story label
|
77
|
+
# @param [String] value
|
78
|
+
# @return [Allure::Label]
|
79
|
+
def story_label(value)
|
80
|
+
Label.new(STORY_LABEL_NAME, value)
|
81
|
+
end
|
82
|
+
|
69
83
|
# Package label
|
70
84
|
# @param [String] value
|
71
85
|
# @return [Allure::Label]
|
@@ -94,13 +108,6 @@ module Allure
|
|
94
108
|
Label.new(SUB_SUITE_LABEL_NAME, value)
|
95
109
|
end
|
96
110
|
|
97
|
-
# Story label
|
98
|
-
# @param [String] value
|
99
|
-
# @return [Allure::Label]
|
100
|
-
def story_label(value)
|
101
|
-
Label.new(STORY_LABEL_NAME, value)
|
102
|
-
end
|
103
|
-
|
104
111
|
# Test case label
|
105
112
|
# @param [String] value
|
106
113
|
# @return [Allure::Label]
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Adds support for annotating methods as allure steps
|
4
|
+
#
|
5
|
+
module AllureStepAnnotation
|
6
|
+
# Mark method definition as allure step
|
7
|
+
#
|
8
|
+
# @param [String] step_name
|
9
|
+
# @return [void]
|
10
|
+
def step(step_name = "")
|
11
|
+
@allure_step = step_name
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def singleton_method_added(method_name)
|
17
|
+
return super unless @allure_step
|
18
|
+
|
19
|
+
original_method = singleton_method(method_name)
|
20
|
+
step_name = @allure_step.empty? ? method_name.to_s : @allure_step
|
21
|
+
@allure_step = nil
|
22
|
+
|
23
|
+
define_singleton_method(method_name) do |*args, &block|
|
24
|
+
Allure.run_step(step_name) { original_method.call(*args, &block) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_added(method_name)
|
29
|
+
return super unless @allure_step
|
30
|
+
|
31
|
+
original_method = instance_method(method_name)
|
32
|
+
step_name = @allure_step.empty? ? method_name.to_s : @allure_step
|
33
|
+
@allure_step = nil
|
34
|
+
|
35
|
+
define_method(method_name) do |*args, &block|
|
36
|
+
Allure.run_step(step_name) { original_method.bind(self).call(*args, &block) }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: allure-ruby-commons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.13.8
|
4
|
+
version: 2.13.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrejs Cunskis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mime-types
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/allure_ruby_commons/model/test_result.rb
|
119
119
|
- lib/allure_ruby_commons/model/test_result_container.rb
|
120
120
|
- lib/allure_ruby_commons/result_utils.rb
|
121
|
+
- lib/allure_ruby_commons/step_annotation.rb
|
121
122
|
homepage: https://github.com/allure-framework/allure-ruby
|
122
123
|
licenses:
|
123
124
|
- Apache-2.0
|
@@ -142,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
143
|
- !ruby/object:Gem::Version
|
143
144
|
version: '0'
|
144
145
|
requirements: []
|
145
|
-
rubygems_version: 3.
|
146
|
+
rubygems_version: 3.2.3
|
146
147
|
signing_key:
|
147
148
|
specification_version: 4
|
148
149
|
summary: Common library for allure results generation
|