allure-cucumber 0.5.5 → 0.5.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7dd1d2d0f18cd4375ed04ac9d024f49188564cce
4
- data.tar.gz: 6f2b6ccd543b148f0dcef1b3e9048266a5dbecd7
3
+ metadata.gz: 0077693a9c0bdd71f2fa6825d5b6f336b4e2e67a
4
+ data.tar.gz: 9b66a368135a9484ba86ffe2f32ba92352d6b4b5
5
5
  SHA512:
6
- metadata.gz: 1a926c1f5e164fab156e8a89f15698cf67b5625157045e28e9f1712f06e1ed31a09284510174bde3d584818776d95b0250dbf9476d268316f47bd9dafb99ff9d
7
- data.tar.gz: 0806e7b6686676bcb9d3efd066ea328cee1315865895ff25813892f29ec357e980303f89d767b801cab628e2c11ff5d9a0e9381c90918cb988dbb6d83e8b413f
6
+ metadata.gz: a33782e23b845089ce27ef69bc6175c6b7640be8c9a45fdd24571d194e4451315a205fdf3475c1e7902a4cc2933c657feebfb4e65ffdd2c54cf56624b758b996
7
+ data.tar.gz: 1ac2a818ccfd3748ed88b168486e30241283b62a8c7a96216980f1896764aa99bbd0517c922f62ca4cb635faa68afaeda93e76c4cade0cc5ecdf6b6979ec3474
data/README.md CHANGED
@@ -37,6 +37,41 @@ AllureCucumber.configure do |c|
37
37
  end
38
38
  ```
39
39
 
40
+ By default, allure-cucumber will analyze your cucumber tags looking for Test Management, Issue Management, and Severity hooks. These hooks will be displayed in the generated allure report (see allure-core for further info).
41
+
42
+ ```ruby
43
+ DEFAULT_TMS_PREFIX = '@TMS:'
44
+ DEFAULT_ISSUE_PREFIX = '@ISSUE:'
45
+ DEFAULT_SEVERITY_PREFIX = '@SEVERITY:'
46
+ ```
47
+
48
+ Example:
49
+ ```gherkin
50
+ @SEVERITY:trivial @ISSUE:YZZ-100 @TMS:9901
51
+ Scenario: Leave First Name Blank
52
+ When I register an account without a first name
53
+ Then exactly (1) [validation_error] should be visible
54
+ ```
55
+
56
+ You can configure what allure-cucumber looks for by making the following changes
57
+
58
+ ```ruby
59
+ AllureCucumber.configure do |c|
60
+ c.clean_dir = false
61
+ c.tms_prefix = '@HIPTEST--'
62
+ c.issue_prefix = '@JIRA++'
63
+ c.severity_prefix = '@URGENCY:'
64
+ end
65
+ ```
66
+
67
+ Example:
68
+ ```gherkin
69
+ @URGENCY:critical @JIRA++YZZ-100 @HIPTEST--9901
70
+ Scenario: Leave First Name Blank
71
+ When I register an account without a first name
72
+ Then exactly (1) [validation_error] should be visible
73
+ ```
74
+
40
75
  ## Usage
41
76
 
42
77
  Put the following in your `features/support/env.rb` file:
@@ -59,22 +59,34 @@ module AllureCucumber
59
59
  @header_row = true
60
60
  @row_count = 0
61
61
  end
62
-
62
+
63
+ def before_scenario(scenario)
64
+ # not used now, but keeping for later.
65
+ end
66
+
63
67
  # Start the test for normal scenarios
64
68
  def before_steps(steps)
65
69
  if !@scenario_outline
66
70
  start_test
67
71
  end
68
72
  end
69
-
73
+
70
74
  # Stop the test for normal scenarios
71
75
  def after_steps(steps)
72
- if !@scenario_outline
73
- result = test_result(steps)
74
- stop_test(result)
76
+ if !@scenario_outline
77
+ @result = test_result(steps)
75
78
  end
76
79
  end
77
-
80
+
81
+ def after_scenario(scenario)
82
+ @result[:status] = cucumber_status_to_allure_status(scenario.status)
83
+ stop_test(@result)
84
+ end
85
+
86
+ def after_feature_element(feature_element)
87
+ after_scenario(feature_element)
88
+ end
89
+
78
90
  # Start the test for scenario examples
79
91
  def before_table_row(table_row)
80
92
  if @scenario_outline && !@header_row && !@in_multiline_arg
@@ -107,7 +119,11 @@ module AllureCucumber
107
119
  end
108
120
 
109
121
  def after_test_step(test_step, result)
110
- if !TEST_HOOK_NAMES_TO_IGNORE.include?(test_step.name)
122
+ if test_step.name == 'Before hook'
123
+ if (!@before_hook_exception) && result.methods.include?(:exception)
124
+ @before_hook_exception = result.exception
125
+ end
126
+ elsif test_step.name != 'After hook'
111
127
  if @tracker.scenario_name
112
128
  status = step_status(result)
113
129
  stop_step(status)
@@ -154,7 +170,11 @@ module AllureCucumber
154
170
 
155
171
  def test_result(result)
156
172
  status = cucumber_status_to_allure_status(result.status)
157
- exception = status == 'failed' && result.exception.nil? ? Exception.new("Some steps were undefined") : result.exception
173
+ if @before_hook_exception
174
+ exception = @before_hook_exception
175
+ else
176
+ exception = status == 'failed' && result.exception.nil? ? Exception.new("Some steps were undefined") : result.exception
177
+ end
158
178
  if exception
159
179
  return {:status => status, :exception => exception}
160
180
  else
@@ -1,5 +1,5 @@
1
1
  module AllureCucumber
2
2
  module Version
3
- STRING = '0.5.5'
3
+ STRING = '0.5.6'
4
4
  end
5
5
  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: 0.5.5
4
+ version: 0.5.6
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-22 00:00:00.000000000 Z
11
+ date: 2016-08-01 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.5
110
+ summary: allure-cucumber-0.5.6
111
111
  test_files: []