cucumber_characteristics 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|