allure-cucumber 2.23.0 → 2.24.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2593815b025fe2a3ebb89c52f463f6bfc2c4fcdfa2c37f54636933a0eed379c
4
- data.tar.gz: 79f0f24b05f63858838a73272bf2ceba84eae534825131f3e6221b7351135932
3
+ metadata.gz: c2f6ddd78787229e1aaab5b3e0cf2663237116ce5c59f305a74db12da2120043
4
+ data.tar.gz: f190201a3ac43eda3052c638e230f4c14c38395e55277948e0d5b236aa204ea5
5
5
  SHA512:
6
- metadata.gz: 307518476ba9fe21a68143620df28b6882717c1bec38905f7774cd7abebfccb8facf3132c1d328ddcd98c1f64c68ffe418669a36dccdae54af07fd2a1532222f
7
- data.tar.gz: 5e2075fdcdaf8ae7cb1aa8d69ef17a889b6dccc01a639949115770c312cf6fec50399d8a80c10f4e5b0f2dd14250a61da7cb8e780a38bcf5e90e90ca7a495f74
6
+ metadata.gz: a3ec1fbdb1e5c175f68761980d00bbbfeb944e57a9927c46e46ec82c16aa1bf152e52868509a3b68ca27bb6e07bb87f5fd67c90243d340744e03b1033631d187
7
+ data.tar.gz: caaec2c5bd0b8700344d7d3cf5e4232a04c09d6c8aa50ad2b349ab162eb4aeaf4a4414cda4f83d53b94a8b4d0fcc9cf599ce2880918e2b96c0e28db5af7391f0
data/README.md CHANGED
@@ -48,6 +48,7 @@ AllureCucumber.configure do |config|
48
48
  config.logging_level = Logger::INFO
49
49
  config.logger = Logger.new($stdout, Logger::DEBUG)
50
50
  config.environment = "staging"
51
+ config.failure_exception = RSpec::Expectations::ExpectationNotMetError
51
52
 
52
53
  # these are used for creating links to bugs or test cases where {} is replaced with keys of relevant items
53
54
  config.link_tms_pattern = "http://www.jira.com/browse/{}"
@@ -110,6 +111,18 @@ Example:
110
111
 
111
112
  Additional special tags exists for setting status detail of test scenarios, allure will pick up following tags: `@flaky`, `@known` and `@muted`
112
113
 
114
+ ### Custom failure exception
115
+
116
+ Allure report will mark steps and tests as either `Failed` or `Broken` based on exception class that was raised. By default, `RSpec::Expectations::ExpectationNotMetError` exception will mark test as `Failed` and all other exceptions will mark test as `Broken`.
117
+
118
+ Custom failure exception class can be configured:
119
+
120
+ ```ruby
121
+ AllureCucumber.configure do |config|
122
+ config.failure_exception = MyCustomFailedException
123
+ end
124
+ ```
125
+
113
126
  ## Usage
114
127
 
115
128
  Use `--format AllureCucumber::CucumberFormatter --out where/you-want-results` while running cucumber or add it to `cucumber.yml`. Note that cucumber `--out` option overrides `results_directory` set via `Allure.configure` method.
@@ -21,7 +21,6 @@ module AllureCucumber
21
21
  # @return [String]
22
22
  class CucumberConfig
23
23
  include Singleton
24
- extend Forwardable
25
24
 
26
25
  # @return [String] default tms tag prefix
27
26
  DEFAULT_TMS_PREFIX = "TMS:"
@@ -36,26 +35,6 @@ module AllureCucumber
36
35
  # @return [String] default story tag prefix
37
36
  DEFAULT_STORY_PREFIX = "STORY:"
38
37
 
39
- def_delegators :@allure_config,
40
- :clean_results_directory,
41
- :clean_results_directory=,
42
- :link_issue_pattern,
43
- :link_issue_pattern=,
44
- :link_tms_pattern,
45
- :link_tms_pattern=,
46
- :logging_level,
47
- :logging_level=,
48
- :logger,
49
- :logger=,
50
- :results_directory,
51
- :results_directory=,
52
- :environment,
53
- :environment=,
54
- :environment_properties,
55
- :environment_properties=,
56
- :categories,
57
- :categories=
58
-
59
38
  attr_writer :tms_prefix,
60
39
  :issue_prefix,
61
40
  :severity_prefix,
@@ -96,5 +75,13 @@ module AllureCucumber
96
75
  def story_prefix
97
76
  @story_prefix || DEFAULT_STORY_PREFIX
98
77
  end
78
+
79
+ def method_missing(method, ...)
80
+ @allure_config.respond_to?(method) ? @allure_config.send(method, ...) : super
81
+ end
82
+
83
+ def respond_to_missing?(method, include_private = false)
84
+ @allure_config.respond_to?(method, include_private) || super
85
+ end
99
86
  end
100
87
  end
@@ -71,9 +71,10 @@ module AllureCucumber
71
71
  # @param [Cucumber::Events::TestStepFinished] event
72
72
  # @return [void]
73
73
  def on_test_step_finished(event)
74
+ status = ALLURE_STATUS.fetch(event.result.to_sym, Allure::Status::BROKEN)
74
75
  update_block = proc do |step|
75
76
  step.stage = Allure::Stage::FINISHED
76
- step.status = ALLURE_STATUS.fetch(event.result.to_sym, Allure::Status::BROKEN)
77
+ step.status = event.result.failed? ? Allure::ResultUtils.status(event.result&.exception) : status
77
78
  end
78
79
 
79
80
  event.test_step.hook? ? handle_hook_finished(event.test_step, update_block) : handle_step_finished(update_block)
@@ -101,13 +101,13 @@ module AllureCucumber
101
101
  def matching_links(type)
102
102
  pattern = reserved_patterns[type]
103
103
  prefix = config.tms_prefix
104
- link_pattern = config.public_send("link_#{type}_pattern")
104
+ link_pattern = config.public_send(:"link_#{type}_pattern")
105
105
 
106
106
  tags
107
107
  .grep(pattern)
108
108
  .map do |tag|
109
109
  tag.match(pattern) do |match|
110
- Allure::ResultUtils.public_send("#{type}_link", prefix, match[type], link_pattern)
110
+ Allure::ResultUtils.public_send(:"#{type}_link", prefix, match[type], link_pattern)
111
111
  end
112
112
  end
113
113
  end
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: 2.23.0
4
+ version: 2.24.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrejs Cunskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-06 00:00:00.000000000 Z
11
+ date: 2024-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allure-ruby-commons
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.23.0
19
+ version: 2.24.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.23.0
26
+ version: 2.24.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubygems_version: 3.4.10
86
+ rubygems_version: 3.5.3
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Allure cucumber ruby adaptor