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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ebd0a6959baccc23f93332d2d2437b59dfb0742
4
- data.tar.gz: 66ec55c6ffd3a9487115eee3c0dae66b326a6701
3
+ metadata.gz: bae9ffba1939aa14ef2f85594c03f7c8cb712490
4
+ data.tar.gz: 3632cc69e78cbb058893363db1f5e997e9c5224a
5
5
  SHA512:
6
- metadata.gz: 90252df07209004f455cb6044ddc252a81a0e9d8f51c5eb54c05db80b9541c205908f6e6b4d7ecb50f270f503ca259df03403b622d019b9059594afdeeb49f26
7
- data.tar.gz: a45350648d213fe996202271d31a601562b6f8eb0fb095ae4443610ae87e10ec207c7c3ec95f7051bd8ce0081f6061d9257ca27cc55083226465c784e873eba3
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)
@@ -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
- ensure
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
@@ -2,7 +2,7 @@ module Gurke
2
2
  module VERSION
3
3
  MAJOR = 2
4
4
  MINOR = 0
5
- PATCH = 0
5
+ PATCH = 1
6
6
  STAGE = nil
7
7
  STRING = [MAJOR, MINOR, PATCH, STAGE].reject(&:nil?).join('.').freeze
8
8
 
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.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-06 00:00:00.000000000 Z
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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
- - !ruby/object:Gem::Dependency
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: '1.3'
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: