cucumber_characteristics 0.0.4 → 0.0.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 +7 -0
- data/.gitignore +8 -0
- data/.rspec +2 -0
- data/.rubocop.yml +14 -0
- data/README.md +39 -3
- data/Rakefile +45 -1
- data/cucumber_characteristics.gemspec +17 -16
- data/cucumber_version/1.3.5/Gemfile +4 -0
- data/cucumber_version/1.3.5/output_path.rb +1 -0
- data/cucumber_version/2.0.2/Gemfile +4 -0
- data/cucumber_version/2.0.2/output_path.rb +1 -0
- data/cucumber_version/2.1.0/Gemfile +4 -0
- data/cucumber_version/2.1.0/output_path.rb +1 -0
- data/cucumber_version/2.2.0/Gemfile +4 -0
- data/cucumber_version/2.2.0/output_path.rb +1 -0
- data/cucumber_version/2.3.3/Gemfile +4 -0
- data/cucumber_version/2.3.3/output_path.rb +1 -0
- data/features/characteristics/cucumber_step_characteristics.html +204 -54
- data/features/characteristics/cucumber_step_characteristics.json +1 -1
- data/features/step_definitions/fail_steps.rb +1 -1
- data/features/step_definitions/unused_steps.rb +2 -0
- data/features/support/env.rb +2 -0
- data/lib/cucumber_characteristics.rb +10 -5
- data/lib/cucumber_characteristics/autoload.rb +3 -1
- data/lib/cucumber_characteristics/configuration.rb +3 -6
- data/lib/cucumber_characteristics/cucumber_1x_step_patch.rb +38 -0
- data/lib/cucumber_characteristics/cucumber_2x_step_patch.rb +163 -0
- data/lib/cucumber_characteristics/{cucumber_step_patch.rb → cucumber_common_step_patch.rb} +4 -5
- data/lib/cucumber_characteristics/exporter.rb +6 -10
- data/lib/cucumber_characteristics/formatter.rb +0 -23
- data/lib/cucumber_characteristics/profile_data.rb +45 -63
- data/lib/cucumber_characteristics/version.rb +1 -1
- data/lib/cucumber_characteristics/view/step_report.html.haml +35 -33
- data/spec/html_output_spec.rb +179 -0
- data/spec/spec_helper.rb +40 -0
- metadata +71 -51
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0e3d4f57847772eaa9465192ddef1993fe7b62f0
|
4
|
+
data.tar.gz: fb97cd1268a644a07e4ead5ef5b9dadc1eb5c04c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8a9b8c79ecaf93f5eacb57ddc3112e2747d6d7a1f064828bc3881e724a68f7d1d20fe2feb01f9a5b592af994047fcf7f08c2b4d18a6112384e4aca7960db4268
|
7
|
+
data.tar.gz: 779276a2d2c0788f6ec53dc50a4a2e5cd46f8bf37e081e71d0ad8c2c1fcf39a9b455f7c2c498183a64e796f3dcf8b1265a8d8c1e00493bf74ceeee3a5086daf2
|
data/.gitignore
CHANGED
@@ -15,3 +15,11 @@ spec/reports
|
|
15
15
|
test/tmp
|
16
16
|
test/version_tmp
|
17
17
|
tmp
|
18
|
+
/cucumber_version/1.3.5/features/characteristics/cucumber_step_characteristics.html
|
19
|
+
/cucumber_version/1.3.5/features/characteristics/cucumber_step_characteristics.json
|
20
|
+
/cucumber_version/2.3.3/features/characteristics/cucumber_step_characteristics.html
|
21
|
+
/cucumber_version/2.3.3/features/characteristics/cucumber_step_characteristics.json
|
22
|
+
/cucumber_version/2.1.0/features/characteristics/cucumber_step_characteristics.html
|
23
|
+
/cucumber_version/2.1.0/features/characteristics/cucumber_step_characteristics.json
|
24
|
+
/cucumber_version/2.2.0/features/characteristics/cucumber_step_characteristics.html
|
25
|
+
/cucumber_version/2.2.0/features/characteristics/cucumber_step_characteristics.json
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
Metrics/LineLength:
|
2
|
+
Max: 207
|
3
|
+
|
4
|
+
# Offense count: 9
|
5
|
+
Style/Documentation:
|
6
|
+
Exclude:
|
7
|
+
- 'spec/**/*'
|
8
|
+
- 'test/**/*'
|
9
|
+
- 'lib/cucumber_characteristics.rb'
|
10
|
+
- 'lib/cucumber_characteristics/configuration.rb'
|
11
|
+
- 'lib/cucumber_characteristics/cucumber_step_patch.rb'
|
12
|
+
- 'lib/cucumber_characteristics/exporter.rb'
|
13
|
+
- 'lib/cucumber_characteristics/formatter.rb'
|
14
|
+
- 'lib/cucumber_characteristics/profile_data.rb'
|
data/README.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem to profile cucumber steps and features.
|
4
4
|
|
5
|
+
## Compatibility
|
6
|
+
|
7
|
+
+ (J)Ruby - 1.9.3 -> 2.3.0
|
8
|
+
+ Cucumber - 1.3.5, 2.1.x+
|
9
|
+
|
5
10
|
## High level features
|
6
11
|
|
7
12
|
Step analysis including
|
@@ -25,18 +30,27 @@ Other features.
|
|
25
30
|
|
26
31
|
## Installation
|
27
32
|
|
33
|
+
### Step 1
|
34
|
+
|
28
35
|
Add this line to your application's Gemfile:
|
29
36
|
|
30
37
|
gem 'cucumber_characteristics'
|
31
38
|
|
32
39
|
And then execute:
|
33
40
|
|
34
|
-
$ bundle
|
41
|
+
$ bundle install
|
35
42
|
|
36
43
|
Or install it yourself as:
|
37
44
|
|
38
45
|
$ gem install cucumber_characteristics
|
39
46
|
|
47
|
+
|
48
|
+
### Step 2
|
49
|
+
|
50
|
+
Add the following line to your cucumber environment file typically found at `features\support\env.rb`
|
51
|
+
|
52
|
+
require 'cucumber_characteristics/autoload'
|
53
|
+
|
40
54
|
## Usage
|
41
55
|
|
42
56
|
1. For always-on automatic loading (recommended), add `require 'cucumber_characteristics/autoload'` to `features/support/yourapp_env.rb`. It is recommended by cucumber that you do not enhance features/support/env.rb so that upgrades are painless (relatively)
|
@@ -59,6 +73,8 @@ You can configure the export of step characteristics via the following (defaults
|
|
59
73
|
config.relative_path = 'features/characteristics'
|
60
74
|
end
|
61
75
|
|
76
|
+
This again can be added to your cucumber environment file typically found at `features\support\env.rb`
|
77
|
+
|
62
78
|
## Results
|
63
79
|
|
64
80
|
Exported characteristic information is listed out at the end of the cucumber run in a message similar to
|
@@ -70,7 +86,7 @@ depending on the options specified.
|
|
70
86
|
|
71
87
|
The JSON option is provided for convenience in case there is a further use case/analysis required that is not provided by the gem.
|
72
88
|
|
73
|
-
An example can be found [here](features/characteristics/cucumber_step_characteristics.
|
89
|
+
An example can be found [here](features/characteristics/cucumber_step_characteristics.json)
|
74
90
|
|
75
91
|
## Problem
|
76
92
|
|
@@ -108,15 +124,35 @@ Possible solutions
|
|
108
124
|
|
109
125
|
As it turns out it was pretty simple to enhance the runtime object to reliably return profile information.
|
110
126
|
|
127
|
+
## Developement
|
128
|
+
|
129
|
+
1. Install development environment
|
130
|
+
|
131
|
+
`bundle install`
|
132
|
+
|
133
|
+
2. Run formatter over default cucumber version
|
134
|
+
|
135
|
+
`bundle exec cucumber`
|
136
|
+
|
137
|
+
3. Run tests across all supported cucumber versions
|
138
|
+
|
139
|
+
`bundle exec rake versions:bundle:install`
|
140
|
+
|
141
|
+
`bundle exec rake versions:test`
|
142
|
+
|
143
|
+
* NOTE. When running the cucumber tests failures, pending etc are expected. All specs should pass *
|
144
|
+
|
145
|
+
|
111
146
|
## Contributing
|
112
147
|
|
113
148
|
1. Fork it
|
114
149
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
115
150
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
116
151
|
4. Push to the branch (`git push origin my-new-feature`)
|
117
|
-
5. Create new Pull Request
|
152
|
+
5. Create new Pull Request (after running tests!)
|
118
153
|
|
119
154
|
## Credits
|
120
155
|
1. Ryan Boucher [cucumber_timing_presenter](https://github.com/distributedlife/cucumber_timing_presenter) for inspiration.
|
121
156
|
2. AlienFast [cucumber_statistics](https://github.com/alienfast/cucumber_statistics) for inspriation.
|
122
157
|
3. [Brandon Hilker](http://brandonhilkert.com/blog/ruby-gem-configuration-patterns/) for gem building tutorials
|
158
|
+
4. Nathan Menge for helping QA the ruby 2.3.0 / cucumber 2.3.0 updates
|
data/Rakefile
CHANGED
@@ -1 +1,45 @@
|
|
1
|
-
require
|
1
|
+
require 'rake'
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
|
4
|
+
# Approach to version testing credited to
|
5
|
+
# https://github.com/makandra/cucumber_factory
|
6
|
+
|
7
|
+
namespace :versions do
|
8
|
+
namespace :bundle do
|
9
|
+
desc 'Bundle all spec apps'
|
10
|
+
task :install do
|
11
|
+
for_each_directory_of('./cucumber_version/**/Gemfile') do |directory|
|
12
|
+
Bundler.with_clean_env do
|
13
|
+
system("cd #{directory} && bundle install")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
desc 'Test all supported cucumber versions'
|
20
|
+
task :test do
|
21
|
+
for_each_directory_of('./cucumber_version/**/Gemfile') do |directory|
|
22
|
+
Bundler.with_clean_env do
|
23
|
+
clean_outputs(directory)
|
24
|
+
system("cd #{directory} && bundle exec cucumber --color --format progress -g -r ../../features/ ../../features/")
|
25
|
+
system("bundle exec rspec -r #{directory}/output_path.rb ")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def clean_outputs(dir)
|
32
|
+
["#{dir}/features/characteristics/cucumber_step_characteristics.json",
|
33
|
+
"#{dir}/features/characteristics/cucumber_step_characteristics.html"
|
34
|
+
].each do |file|
|
35
|
+
File.delete(file) if File.exist?(file)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def for_each_directory_of(path)
|
40
|
+
Dir[path].sort.each do |rakefile|
|
41
|
+
directory = File.dirname(rakefile)
|
42
|
+
puts '', "\033[44m#{directory}\033[0m", ''
|
43
|
+
yield(directory)
|
44
|
+
end
|
45
|
+
end
|
@@ -4,26 +4,27 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'cucumber_characteristics/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'cucumber_characteristics'
|
8
8
|
spec.version = CucumberCharacteristics::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.description =
|
12
|
-
spec.summary =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ['Stuart Ingram']
|
10
|
+
spec.email = ['stuart.ingram@gmail.com']
|
11
|
+
spec.description = 'Gem to profile cucumber steps and features'
|
12
|
+
spec.summary = 'Gem to profile cucumber steps and features'
|
13
|
+
spec.homepage = 'https://github.com/singram/cucumber_characteristics'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
|
-
spec.files = `git ls-files`.split(
|
16
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency
|
21
|
+
spec.add_dependency 'cucumber', '>=1.3.5'
|
22
|
+
spec.add_dependency 'haml'
|
22
23
|
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency '
|
27
|
-
spec.add_development_dependency 'rspec'
|
28
|
-
spec.add_development_dependency '
|
24
|
+
spec.add_development_dependency 'bundler'
|
25
|
+
spec.add_development_dependency 'nokogiri'
|
26
|
+
spec.add_development_dependency 'pry'
|
27
|
+
spec.add_development_dependency 'rake'
|
28
|
+
spec.add_development_dependency 'rspec'
|
29
|
+
spec.add_development_dependency 'rubocop'
|
29
30
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
CHARACTERISTICS_OUTPUT_PATH_PREFIX = File.dirname(__FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
CHARACTERISTICS_OUTPUT_PATH_PREFIX = File.dirname(__FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
CHARACTERISTICS_OUTPUT_PATH_PREFIX = File.dirname(__FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
CHARACTERISTICS_OUTPUT_PATH_PREFIX = File.dirname(__FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
CHARACTERISTICS_OUTPUT_PATH_PREFIX = File.dirname(__FILE__)
|
@@ -39,18 +39,19 @@
|
|
39
39
|
</div>
|
40
40
|
<div class='alert alert-info'>
|
41
41
|
<span>
|
42
|
-
|
43
|
-
|
42
|
+
10 Scenarios,
|
43
|
+
36 Steps completed
|
44
44
|
<span class='text-muted'>
|
45
|
-
(Passed:
|
45
|
+
(Failed: 2, Passed: 31, Skipped: 2, Undefined: 1)<br>
|
46
46
|
</span>
|
47
|
-
|
47
|
+
1/2 failures due to ambiguous matches<br>
|
48
|
+
Test duration 12.5340s.
|
48
49
|
<span class='text-muted'>
|
49
|
-
(
|
50
|
+
(11.9450s steps, 0.5890s non-steps)
|
50
51
|
</span>
|
51
52
|
</span>
|
52
53
|
<span class='text-muted pull-right small'>
|
53
|
-
Finished on
|
54
|
+
Finished on 2016-04-10 22:28:08 -0400
|
54
55
|
</span>
|
55
56
|
</div>
|
56
57
|
<ul class='nav nav-tabs'>
|
@@ -61,7 +62,7 @@
|
|
61
62
|
<a data-toggle='tab' href='#features'>Features</a>
|
62
63
|
</li>
|
63
64
|
<li>
|
64
|
-
<a data-toggle='tab' href='#unused_steps'>Unused Steps (
|
65
|
+
<a data-toggle='tab' href='#unused_steps'>Unused Steps (1)</a>
|
65
66
|
</li>
|
66
67
|
</ul>
|
67
68
|
<div class='tab-content'>
|
@@ -85,30 +86,80 @@
|
|
85
86
|
</tr>
|
86
87
|
</thead>
|
87
88
|
<tbody>
|
88
|
-
<tr>
|
89
|
-
<td>
|
89
|
+
<tr class='step_result'>
|
90
|
+
<td class='step'>
|
90
91
|
<abbr title='/^I wait ([\d\.]+) seconds$/'>features/step_definitions/wait_steps.rb:1</abbr>
|
91
92
|
</td>
|
92
|
-
<td>
|
93
|
-
<td>
|
94
|
-
<abbr title='features/scenario_outline.feature:4 (x2)
features/scenario_outline.feature:5 (x2)
features/scenario_outline.feature:6 (x2)
features/scenario_outline.feature:7 (x2)'>
|
95
|
-
</td>
|
96
|
-
<td>0.
|
97
|
-
<td>0.
|
98
|
-
<td>
|
99
|
-
<td>0.
|
100
|
-
<td>0.
|
101
|
-
<td>0.
|
102
|
-
<td>
|
93
|
+
<td class='total_time'>11.9450</td>
|
94
|
+
<td class='passed_count'>
|
95
|
+
<abbr title='features/failure.feature:4
features/pending.feature:4
features/scenario.feature:4
features/scenario.feature:5
features/scenario.feature:6
features/scenario_outline.feature:4 (x2)
features/scenario_outline.feature:5 (x2)
features/scenario_outline.feature:6 (x2)
features/scenario_outline.feature:7 (x2)
features/scenario_outline_with_background.feature:4 (x2)
features/scenario_outline_with_background.feature:7 (x2)
features/scenario_outline_with_background.feature:8 (x2)
features/scenario_outline_with_background.feature:9 (x2)
features/scenario_outline_with_background.feature:10 (x2)
features/scenario_with_background.feature:4 (x2)
features/scenario_with_background.feature:7
features/scenario_with_background.feature:8
features/scenario_with_background.feature:9
features/scenario_with_background.feature:12
features/scenario_with_background.feature:13
features/scenario_with_background.feature:14'>31</abbr>
|
96
|
+
</td>
|
97
|
+
<td class='average_time'>0.3853</td>
|
98
|
+
<td class='fastest_time'>0.1010</td>
|
99
|
+
<td class='slowest_time'>1.0020</td>
|
100
|
+
<td class='variation_time'>0.9010</td>
|
101
|
+
<td class='variance_time'>0.0563</td>
|
102
|
+
<td class='std_dev_time'>0.2372</td>
|
103
|
+
<td class='skipped_count'>
|
104
|
+
<abbr title='features/failure.feature:6
features/pending.feature:6'>2</abbr>
|
105
|
+
</td>
|
106
|
+
<td class='failed_count'>
|
107
|
+
0
|
108
|
+
</td>
|
109
|
+
<td class='undef_count'>
|
110
|
+
0
|
111
|
+
</td>
|
112
|
+
<td class='total_count'>33</td>
|
113
|
+
</tr>
|
114
|
+
<tr class='step_result'>
|
115
|
+
<td class='step'>
|
116
|
+
<abbr title=''>I call a pending step</abbr>
|
117
|
+
</td>
|
118
|
+
<td class='total_time'>-</td>
|
119
|
+
<td class='passed_count'>
|
120
|
+
0
|
121
|
+
</td>
|
122
|
+
<td class='average_time'>-</td>
|
123
|
+
<td class='fastest_time'>-</td>
|
124
|
+
<td class='slowest_time'>-</td>
|
125
|
+
<td class='variation_time'>-</td>
|
126
|
+
<td class='variance_time'>-</td>
|
127
|
+
<td class='std_dev_time'>-</td>
|
128
|
+
<td class='skipped_count'>
|
129
|
+
0
|
130
|
+
</td>
|
131
|
+
<td class='failed_count'>
|
132
|
+
0
|
133
|
+
</td>
|
134
|
+
<td class='undef_count'>
|
135
|
+
<abbr title='features/pending.feature:5'>1</abbr>
|
136
|
+
</td>
|
137
|
+
<td class='total_count'>1</td>
|
138
|
+
</tr>
|
139
|
+
<tr class='step_result'>
|
140
|
+
<td class='step'>
|
141
|
+
<abbr title='/^I fail$/'>features/step_definitions/fail_steps.rb:1</abbr>
|
142
|
+
</td>
|
143
|
+
<td class='total_time'>-</td>
|
144
|
+
<td class='passed_count'>
|
103
145
|
0
|
104
146
|
</td>
|
105
|
-
<td>
|
147
|
+
<td class='average_time'>-</td>
|
148
|
+
<td class='fastest_time'>-</td>
|
149
|
+
<td class='slowest_time'>-</td>
|
150
|
+
<td class='variation_time'>-</td>
|
151
|
+
<td class='variance_time'>-</td>
|
152
|
+
<td class='std_dev_time'>-</td>
|
153
|
+
<td class='skipped_count'>
|
106
154
|
0
|
107
155
|
</td>
|
108
|
-
<td>
|
156
|
+
<td class='failed_count'>
|
157
|
+
<abbr title='features/failure.feature:5'>1</abbr>
|
158
|
+
</td>
|
159
|
+
<td class='undef_count'>
|
109
160
|
0
|
110
161
|
</td>
|
111
|
-
<td>
|
162
|
+
<td class='total_count'>1</td>
|
112
163
|
</tr>
|
113
164
|
</tbody>
|
114
165
|
</table>
|
@@ -125,19 +176,126 @@
|
|
125
176
|
</tr>
|
126
177
|
</thead>
|
127
178
|
<tbody>
|
128
|
-
<tr class=''>
|
129
|
-
<td>features/
|
130
|
-
<td>1.
|
131
|
-
<td>
|
132
|
-
<td>
|
133
|
-
<td>
|
179
|
+
<tr class='danger feature_result'>
|
180
|
+
<td class='feature'>features/failure.feature:3</td>
|
181
|
+
<td class='total_time'>1.0020</td>
|
182
|
+
<td class='step_count'>3</td>
|
183
|
+
<td class='status'>failed</td>
|
184
|
+
<td class='examples'>
|
185
|
+
</td>
|
186
|
+
</tr>
|
187
|
+
<tr class='danger feature_result'>
|
188
|
+
<td class='feature'>features/ambiguous.feature:3</td>
|
189
|
+
<td class='total_time'>-</td>
|
190
|
+
<td class='step_count'>1</td>
|
191
|
+
<td class='status'>failed</td>
|
192
|
+
<td class='examples'>
|
193
|
+
</td>
|
194
|
+
</tr>
|
195
|
+
<tr class='feature_result warning'>
|
196
|
+
<td class='feature'>features/pending.feature:3</td>
|
197
|
+
<td class='total_time'>1.0020</td>
|
198
|
+
<td class='step_count'>3</td>
|
199
|
+
<td class='status'>undefined</td>
|
200
|
+
<td class='examples'>
|
201
|
+
</td>
|
202
|
+
</tr>
|
203
|
+
<tr class='feature_result'>
|
204
|
+
<td class='feature'>features/scenario_outline_with_background.feature:6</td>
|
205
|
+
<td class='total_time'>3.6130</td>
|
206
|
+
<td class='step_count'>10</td>
|
207
|
+
<td class='status'>passed</td>
|
208
|
+
<td class='examples'>
|
209
|
+
<button class='btn btn-primary' data-target='#ee4ab50980effe45ea18c9afc38e97e5' data-toggle='modal'>
|
210
|
+
2 Examples
|
211
|
+
</button>
|
212
|
+
</td>
|
213
|
+
</tr>
|
214
|
+
<tr class='feature_result'>
|
215
|
+
<td class='feature'>features/scenario_with_background.feature:11</td>
|
216
|
+
<td class='total_time'>2.2050</td>
|
217
|
+
<td class='step_count'>4</td>
|
218
|
+
<td class='status'>passed</td>
|
219
|
+
<td class='examples'>
|
220
|
+
</td>
|
221
|
+
</tr>
|
222
|
+
<tr class='feature_result'>
|
223
|
+
<td class='feature'>features/scenario_outline.feature:3</td>
|
224
|
+
<td class='total_time'>1.6120</td>
|
225
|
+
<td class='step_count'>8</td>
|
226
|
+
<td class='status'>passed</td>
|
227
|
+
<td class='examples'>
|
134
228
|
<button class='btn btn-primary' data-target='#76f61671f111ebbc40b80f6aa9f5f838' data-toggle='modal'>
|
135
229
|
2 Examples
|
136
230
|
</button>
|
137
231
|
</td>
|
138
232
|
</tr>
|
233
|
+
<tr class='feature_result'>
|
234
|
+
<td class='feature'>features/scenario.feature:3</td>
|
235
|
+
<td class='total_time'>1.5030</td>
|
236
|
+
<td class='step_count'>3</td>
|
237
|
+
<td class='status'>passed</td>
|
238
|
+
<td class='examples'>
|
239
|
+
</td>
|
240
|
+
</tr>
|
241
|
+
<tr class='feature_result'>
|
242
|
+
<td class='feature'>features/scenario_with_background.feature:6</td>
|
243
|
+
<td class='total_time'>1.0080</td>
|
244
|
+
<td class='step_count'>4</td>
|
245
|
+
<td class='status'>passed</td>
|
246
|
+
<td class='examples'>
|
247
|
+
</td>
|
248
|
+
</tr>
|
139
249
|
</tbody>
|
140
250
|
</table>
|
251
|
+
<div aria-hidden='true' aria-labelledby='myLargeModalLabel' class='modal fade bs-example-modal-lg' id='ee4ab50980effe45ea18c9afc38e97e5' role='dialog' tabindex='-1'>
|
252
|
+
<div class='modal-dialog modal-lg'>
|
253
|
+
<div class='modal-content'>
|
254
|
+
<div class='modal-header'>
|
255
|
+
<h4>features/scenario_outline_with_background.feature:6</h4>
|
256
|
+
</div>
|
257
|
+
<div class='modal-body'>
|
258
|
+
<table class='table table-striped table-bordered table-condensed' id='scenario_outline_with_background_feature_6'>
|
259
|
+
<thead>
|
260
|
+
<tr>
|
261
|
+
<th>Example</th>
|
262
|
+
<th>Total time</th>
|
263
|
+
<th>Step count</th>
|
264
|
+
<th>Status</th>
|
265
|
+
</tr>
|
266
|
+
</thead>
|
267
|
+
<tbody>
|
268
|
+
<tr class='example_result'>
|
269
|
+
<td class='example'>| 0.5 | 0.6 | 0.7 |</td>
|
270
|
+
<td class='total_time'>2.4050</td>
|
271
|
+
<td class='step_count'>5</td>
|
272
|
+
<td class='status'>passed</td>
|
273
|
+
</tr>
|
274
|
+
<tr class='example_result'>
|
275
|
+
<td class='example'>| 0.1 | 0.2 | 0.3 |</td>
|
276
|
+
<td class='total_time'>1.2080</td>
|
277
|
+
<td class='step_count'>5</td>
|
278
|
+
<td class='status'>passed</td>
|
279
|
+
</tr>
|
280
|
+
</tbody>
|
281
|
+
<tfooter>
|
282
|
+
<tr class='example_totals'>
|
283
|
+
<th></th>
|
284
|
+
<th class='total_time'>3.6130</th>
|
285
|
+
<th class='step_count'>10</th>
|
286
|
+
<th class='status'>passed</th>
|
287
|
+
</tr>
|
288
|
+
</tfooter>
|
289
|
+
</table>
|
290
|
+
</div>
|
291
|
+
<div class='modal-footer'>
|
292
|
+
<button class='btn btn-default' data-dismiss='modal' type='button'>
|
293
|
+
Close
|
294
|
+
</button>
|
295
|
+
</div>
|
296
|
+
</div>
|
297
|
+
</div>
|
298
|
+
</div>
|
141
299
|
<div aria-hidden='true' aria-labelledby='myLargeModalLabel' class='modal fade bs-example-modal-lg' id='76f61671f111ebbc40b80f6aa9f5f838' role='dialog' tabindex='-1'>
|
142
300
|
<div class='modal-dialog modal-lg'>
|
143
301
|
<div class='modal-content'>
|
@@ -145,7 +303,7 @@
|
|
145
303
|
<h4>features/scenario_outline.feature:3</h4>
|
146
304
|
</div>
|
147
305
|
<div class='modal-body'>
|
148
|
-
<table class='table table-striped table-bordered table-condensed'>
|
306
|
+
<table class='table table-striped table-bordered table-condensed' id='scenario_outline_feature_3'>
|
149
307
|
<thead>
|
150
308
|
<tr>
|
151
309
|
<th>Example</th>
|
@@ -155,25 +313,25 @@
|
|
155
313
|
</tr>
|
156
314
|
</thead>
|
157
315
|
<tbody>
|
158
|
-
<tr class=''>
|
159
|
-
<td>| 0.3 | 0.2 | 0.1 |</td>
|
160
|
-
<td>0.
|
161
|
-
<td>4</td>
|
162
|
-
<td>passed</td>
|
316
|
+
<tr class='example_result'>
|
317
|
+
<td class='example'>| 0.3 | 0.2 | 0.1 |</td>
|
318
|
+
<td class='total_time'>0.8060</td>
|
319
|
+
<td class='step_count'>4</td>
|
320
|
+
<td class='status'>passed</td>
|
163
321
|
</tr>
|
164
|
-
<tr class=''>
|
165
|
-
<td>| 0.1 | 0.2 | 0.3 |</td>
|
166
|
-
<td>0.
|
167
|
-
<td>4</td>
|
168
|
-
<td>passed</td>
|
322
|
+
<tr class='example_result'>
|
323
|
+
<td class='example'>| 0.1 | 0.2 | 0.3 |</td>
|
324
|
+
<td class='total_time'>0.8060</td>
|
325
|
+
<td class='step_count'>4</td>
|
326
|
+
<td class='status'>passed</td>
|
169
327
|
</tr>
|
170
328
|
</tbody>
|
171
329
|
<tfooter>
|
172
|
-
<tr>
|
330
|
+
<tr class='example_totals'>
|
173
331
|
<th></th>
|
174
|
-
<th>1.
|
175
|
-
<th>8</th>
|
176
|
-
<th>passed</th>
|
332
|
+
<th class='total_time'>1.6120</th>
|
333
|
+
<th class='step_count'>8</th>
|
334
|
+
<th class='status'>passed</th>
|
177
335
|
</tr>
|
178
336
|
</tfooter>
|
179
337
|
</table>
|
@@ -197,16 +355,8 @@
|
|
197
355
|
</thead>
|
198
356
|
<tbody>
|
199
357
|
<tr>
|
200
|
-
<td>features/step_definitions/
|
201
|
-
<td>/^I
|
202
|
-
</tr>
|
203
|
-
<tr>
|
204
|
-
<td>features/step_definitions/ambiguous_steps.rb:4</td>
|
205
|
-
<td>/^I wait some seconds$/</td>
|
206
|
-
</tr>
|
207
|
-
<tr>
|
208
|
-
<td>features/step_definitions/fail_steps.rb:1</td>
|
209
|
-
<td>/^I fail$/</td>
|
358
|
+
<td>features/step_definitions/unused_steps.rb:1</td>
|
359
|
+
<td>/^I am unused/</td>
|
210
360
|
</tr>
|
211
361
|
</tbody>
|
212
362
|
</table>
|