gurke 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +58 -0
- data/lib/gurke/step.rb +2 -2
- data/lib/gurke/version.rb +1 -1
- metadata +32 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bae9ffba1939aa14ef2f85594c03f7c8cb712490
|
4
|
+
data.tar.gz: 3632cc69e78cbb058893363db1f5e997e9c5224a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e194529772e5b7903ba91ae29b447375c7074ea9d8d54db76964a26bdfaa6dc1dadac84d2baf36ad630811ed27ac1b507abf851c24bdcb90a304c742ffe6a6e
|
7
|
+
data.tar.gz: facd7335e8e1feb35c03cfc8c38b519ec12342e85b2045828d6fcd060c422058bb57ae733fae65656c69779c18ae1e3501613d6b4cf7c8cc0490c443c98a1bfe
|
data/README.md
CHANGED
@@ -14,6 +14,8 @@ Or install it yourself as:
|
|
14
14
|
|
15
15
|
Or add it to your `Gemfile` and install it using bundler.
|
16
16
|
|
17
|
+
**Note:** Install version `2.0+`. Previous versions were something else.
|
18
|
+
|
17
19
|
## Usage
|
18
20
|
|
19
21
|
1. Put features in `features/`.
|
@@ -91,6 +93,31 @@ Scenario: Use the back button
|
|
91
93
|
|
92
94
|
`And` and `But` steps will inherit the keyword type from the step before, e.g. the `And` step above will be of the `when` type.
|
93
95
|
|
96
|
+
### Included Step Definitions & Hooks
|
97
|
+
|
98
|
+
Each scenario runs in it's own world. All modules registered to be included will be included in this world. Before and after scenario or step hooks will also be executed within this world. All steps are run in this world.
|
99
|
+
|
100
|
+
You can define hooks similar to RSpec:
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
Gurke.configure do |config|
|
104
|
+
config.before(:scenario) do
|
105
|
+
visit '/' # Example: Start each scenario on index page
|
106
|
+
end
|
107
|
+
|
108
|
+
config.after(:features) do
|
109
|
+
# Do some cleanup code etc.
|
110
|
+
end
|
111
|
+
end
|
112
|
+
```
|
113
|
+
|
114
|
+
The following hooks are available:
|
115
|
+
|
116
|
+
* `:features`: Will be run before and after every feature. Use to to initially setup or teardown needed resources e.g. setup capybara.
|
117
|
+
* `:feature`: Will be run before and after any feature.
|
118
|
+
* `:scenario`: Same for any scenario.
|
119
|
+
* `:step`: Can be used to e.g. screenshot browser for every step.
|
120
|
+
|
94
121
|
### Use the command line runner
|
95
122
|
|
96
123
|
Run all scenarios by just calling `bundle exec gurke`. By default scenarios and features tagged with `@wip` will be ignored.
|
@@ -103,8 +130,39 @@ Examples:
|
|
103
130
|
* `-t a -t b` - only run scenarios with tags `@a` OR `@b`
|
104
131
|
* `-t a,~b` - only run scenarios with `@a` but not `@b`
|
105
132
|
|
133
|
+
You can also specify a list of files that will be run:
|
134
|
+
|
135
|
+
```
|
136
|
+
gurke features/my_feature.feature
|
137
|
+
```
|
138
|
+
|
139
|
+
If you append one or more line numbers - separated by dashes - only the scenarios defined around the given lines will be run:
|
140
|
+
|
141
|
+
```
|
142
|
+
gurke features/my_feature.feature:14:34
|
143
|
+
```
|
144
|
+
|
145
|
+
### DRb background server (experimental)
|
146
|
+
|
147
|
+
You can run a DRb server in the background that has a running test environment (whatever that means to you) by running `gurke --drb-server`. This will load your test environment and execute all before `:system` hooks.
|
148
|
+
|
149
|
+
You can later run your features (or specific features) by running `gurke --drb`. That will run the features in the already loaded DRb server, including all other hooks.
|
150
|
+
|
151
|
+
Remember to reload e.g. your step definitions before `:features` to pick up changes:
|
152
|
+
|
153
|
+
```ruby
|
154
|
+
config.before(:features) do
|
155
|
+
Dir['features/steps/**/*.rb'].each{|f| load f }
|
156
|
+
end
|
157
|
+
```
|
158
|
+
|
159
|
+
Use the after `:system` hook to shutdown resources.
|
160
|
+
|
106
161
|
## TODO
|
107
162
|
|
163
|
+
* Import (step definition) modules based on tags (rspec: `config.include MyCLISteps, cli: true`)
|
164
|
+
* Add `context`/`ctx` object to world providing current feature/scenario/step
|
165
|
+
* Allow to define scenario/feature specific after hook in steps e.g. to close opened resources
|
108
166
|
* Random run order (rspec)
|
109
167
|
* Using strings with placeholders as step pattern (turnip)
|
110
168
|
* Custom placeholders (turnip)
|
data/lib/gurke/step.rb
CHANGED
@@ -45,7 +45,7 @@ module Gurke
|
|
45
45
|
result = runner.hook(:step, world) do
|
46
46
|
run_step runner, reporter, scenario, world
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
reporter.invoke :after_step, result, scenario
|
50
50
|
end
|
51
51
|
|
@@ -58,7 +58,7 @@ module Gurke
|
|
58
58
|
rescue StepPending => e
|
59
59
|
scenario.pending! e
|
60
60
|
result = StepResult.new self, :pending, e
|
61
|
-
rescue => e
|
61
|
+
rescue Exception => e
|
62
62
|
scenario.failed! e
|
63
63
|
result = StepResult.new self, :failed, e
|
64
64
|
ensure
|
data/lib/gurke/version.rb
CHANGED
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gurke
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Graichen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trollop
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
15
|
requirement: !ruby/object:Gem::Requirement
|
21
16
|
requirements:
|
22
|
-
- -
|
17
|
+
- - ">="
|
23
18
|
- !ruby/object:Gem::Version
|
24
19
|
version: '0'
|
25
|
-
prerelease: false
|
26
20
|
type: :runtime
|
27
|
-
|
28
|
-
name: gherkin
|
21
|
+
prerelease: false
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- -
|
24
|
+
- - ">="
|
32
25
|
- !ruby/object:Gem::Version
|
33
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: gherkin
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
|
-
- -
|
31
|
+
- - ">="
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: '0'
|
39
|
-
prerelease: false
|
40
34
|
type: :runtime
|
41
|
-
|
42
|
-
name: colorize
|
35
|
+
prerelease: false
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
|
-
- -
|
38
|
+
- - ">="
|
46
39
|
- !ruby/object:Gem::Version
|
47
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: colorize
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- -
|
45
|
+
- - ">="
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
prerelease: false
|
54
48
|
type: :runtime
|
55
|
-
|
56
|
-
name: bundler
|
49
|
+
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
62
57
|
requirement: !ruby/object:Gem::Requirement
|
63
58
|
requirements:
|
64
|
-
- - ~>
|
59
|
+
- - "~>"
|
65
60
|
- !ruby/object:Gem::Version
|
66
61
|
version: '1.3'
|
67
|
-
prerelease: false
|
68
62
|
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
69
69
|
description: An alternative gherkin feature runner inspired by rspec and turnip.
|
70
70
|
email:
|
71
71
|
- jg@altimos.de
|
@@ -116,24 +116,24 @@ homepage: https://github.com/jgraichen/gurke
|
|
116
116
|
licenses:
|
117
117
|
- MIT
|
118
118
|
metadata: {}
|
119
|
-
post_install_message:
|
119
|
+
post_install_message:
|
120
120
|
rdoc_options: []
|
121
121
|
require_paths:
|
122
122
|
- lib
|
123
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- -
|
125
|
+
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: '0'
|
128
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
|
-
rubyforge_project:
|
134
|
+
rubyforge_project:
|
135
135
|
rubygems_version: 2.2.2
|
136
|
-
signing_key:
|
136
|
+
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: An alternative gherkin feature runner inspired by rspec and turnip.
|
139
139
|
test_files:
|
@@ -150,4 +150,4 @@ test_files:
|
|
150
150
|
- spec/gurke/run_list_spec.rb
|
151
151
|
- spec/gurke/scenario_spec.rb
|
152
152
|
- spec/spec_helper.rb
|
153
|
-
has_rdoc:
|
153
|
+
has_rdoc:
|