spinach 0.8.2 → 0.8.3
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 +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +4 -1
- data/Gemfile +1 -0
- data/README.markdown +12 -3
- data/features/fail_fast.feature +10 -0
- data/features/steps/exit_status.rb +2 -27
- data/features/steps/fail_fast_option.rb +21 -0
- data/features/steps/rspec_compatibility.rb +1 -2
- data/features/support/env.rb +14 -0
- data/features/support/feature_generator.rb +115 -0
- data/lib/spinach/capybara.rb +2 -1
- data/lib/spinach/cli.rb +5 -0
- data/lib/spinach/config.rb +13 -1
- data/lib/spinach/hooks.rb +1 -1
- data/lib/spinach/runner.rb +7 -0
- data/lib/spinach/runner/feature_runner.rb +1 -0
- data/lib/spinach/version.rb +1 -1
- data/spinach.gemspec +0 -1
- data/test/spinach/cli_test.rb +18 -1
- data/test/spinach/runner/feature_runner_test.rb +16 -0
- data/test/spinach/runner/scenario_runner_test.rb +1 -1
- data/test/spinach/runner_test.rb +32 -3
- data/test/test_helper.rb +5 -4
- metadata +8 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83c66a61a7a2acb9a68481350f9eb89d95e48eec
|
4
|
+
data.tar.gz: 7e2f76bef3a0796aa342bb9bdd0f1589de02e678
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68e0b156aa56a28d06cae2585f6504fda3648ea943db9fb5ccc33ecf5afc2ab9e2be16cd55187f0bc18febd3ab147d25263a7a2130d82c576696ff8b441c09ef
|
7
|
+
data.tar.gz: fdd2eec1dc6d73374f6bbbb7c6b8610c0f73d56cb3110c8e01fb2cf60a46a912a506c09a0abb03173dccb9011b68842691cfc50b240eca9e223370e9d1fb8e16
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.0
|
1
|
+
2.0.0-p0
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
== 0.8.3
|
2
|
+
* Add ```--fail-fast``` option. When specified, the suite will terminate after the first failed scenario
|
3
|
+
|
1
4
|
== 0.8.2
|
2
5
|
* upgrade to gherkin-ruby 0.3 in order to avoid naming conflicts when using at
|
3
6
|
the same time spinach & cucumber (transitioning)
|
@@ -51,4 +54,4 @@ the same time spinach & cucumber (transitioning)
|
|
51
54
|
* Add docs on how to use shared steps.
|
52
55
|
|
53
56
|
* deprecations
|
54
|
-
* Nothing
|
57
|
+
* Nothing
|
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
# Spinach - BDD framework on top of Gherkin
|
1
|
+
# Spinach - BDD framework on top of Gherkin
|
2
|
+
[](http://badge.fury.io/rb/spinach)
|
3
|
+
[](http://travis-ci.org/codegram/spinach)
|
4
|
+
[](http://gemnasium.com/codegram/spinach)
|
5
|
+
[](https://coveralls.io/r/codegram/spinach)
|
2
6
|
|
3
7
|
Spinach is a high-level BDD framework that leverages the expressive
|
4
8
|
[Gherkin language][gherkin] (used by [Cucumber][cucumber]) to help you define
|
@@ -12,8 +16,7 @@ Conceived as an alternative to Cucumber, here are some of its design goals:
|
|
12
16
|
* Step reusability: In case you want to reuse steps across features, you can
|
13
17
|
always wrap those in plain ol' Ruby modules.
|
14
18
|
|
15
|
-
Spinach is tested against **MRI 1.9.3 and 2.0.0**.
|
16
|
-
is on the works.
|
19
|
+
Spinach is tested against **MRI 1.9.3 and 2.0.0**.
|
17
20
|
|
18
21
|
We are not planning to make it compatible with MRI 1.8.7 since, you know, this
|
19
22
|
would be irresponsible :)
|
@@ -162,6 +165,8 @@ This is one way to make that reusable:
|
|
162
165
|
# ... features/steps/common_steps/login.rb
|
163
166
|
module CommonSteps
|
164
167
|
module Login
|
168
|
+
include Spinach::DSL
|
169
|
+
|
165
170
|
step 'I am logged in' do
|
166
171
|
# log in stuff...
|
167
172
|
end
|
@@ -349,3 +354,7 @@ You can easily contribute to Spinach. Its codebase is simple and
|
|
349
354
|
## License
|
350
355
|
|
351
356
|
MIT License. Copyright 2011 [Codegram Technologies](http://codegram.com)
|
357
|
+
|
358
|
+
|
359
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
360
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
Feature: Fail fast option
|
2
|
+
In order to save running time
|
3
|
+
As a developer
|
4
|
+
I want spinach to fail fast when I so desire
|
5
|
+
|
6
|
+
Scenario: fail fast
|
7
|
+
Given I have a feature that has a failure
|
8
|
+
And I have a feature that has no error or failure
|
9
|
+
When I run both of them with fail-fast option
|
10
|
+
Then the tests stop at the first one
|
@@ -5,36 +5,11 @@ class ExitStatus < Spinach::FeatureSteps
|
|
5
5
|
include Integration::SpinachRunner
|
6
6
|
|
7
7
|
Given "I have a feature that has no error or failure" do
|
8
|
-
|
9
|
-
Feature: A success feature
|
10
|
-
|
11
|
-
Scenario: This is scenario will succeed
|
12
|
-
Then I succeed
|
13
|
-
""")
|
14
|
-
write_file('features/steps/success_feature.rb',
|
15
|
-
'class ASuccessFeature < Spinach::FeatureSteps
|
16
|
-
feature "A success feature"
|
17
|
-
Then "I succeed" do
|
18
|
-
end
|
19
|
-
end')
|
20
|
-
@feature = "features/success_feature.feature"
|
8
|
+
@feature = Integration::FeatureGenerator.success_feature
|
21
9
|
end
|
22
10
|
|
23
11
|
Given "I have a feature that has a failure" do
|
24
|
-
|
25
|
-
Feature: A failure feature
|
26
|
-
|
27
|
-
Scenario: This is scenario will fail
|
28
|
-
Then I fail
|
29
|
-
""")
|
30
|
-
write_file('features/steps/failure_feature.rb',
|
31
|
-
'class AFailureFeature < Spinach::FeatureSteps
|
32
|
-
feature "A failure feature"
|
33
|
-
Then "I fail" do
|
34
|
-
true.must_equal false
|
35
|
-
end
|
36
|
-
end')
|
37
|
-
@feature = "features/failure_feature.feature"
|
12
|
+
@feature = Integration::FeatureGenerator.failure_feature
|
38
13
|
end
|
39
14
|
|
40
15
|
When "I run it" do
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class Spinach::Features::FailFastOption < Spinach::FeatureSteps
|
2
|
+
include Integration::SpinachRunner
|
3
|
+
|
4
|
+
step 'I have a feature that has a failure' do
|
5
|
+
@features ||= []
|
6
|
+
@features << Integration::FeatureGenerator.failure_feature_with_two_scenarios
|
7
|
+
end
|
8
|
+
|
9
|
+
step 'I have a feature that has no error or failure' do
|
10
|
+
@features ||= []
|
11
|
+
@features << Integration::FeatureGenerator.success_feature
|
12
|
+
end
|
13
|
+
|
14
|
+
step 'I run both of them with fail-fast option' do
|
15
|
+
run_feature @features.join(" "), append: '--fail-fast'
|
16
|
+
end
|
17
|
+
|
18
|
+
step 'the tests stop at the first one' do
|
19
|
+
@stdout.must_match("(0) Successful")
|
20
|
+
end
|
21
|
+
end
|
@@ -29,8 +29,7 @@ Feature: Feature with failures
|
|
29
29
|
|
30
30
|
Scenario: This scenario will fail
|
31
31
|
Given true is false
|
32
|
-
Then remove all the files in my hard drive
|
33
|
-
""")
|
32
|
+
Then remove all the files in my hard drive""")
|
34
33
|
|
35
34
|
write_file('features/steps/failure_feature.rb',
|
36
35
|
'class FeatureWithFailures < Spinach::FeatureSteps
|
data/features/support/env.rb
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
require 'minitest/spec'
|
2
2
|
require_relative 'filesystem'
|
3
3
|
|
4
|
+
require 'simplecov'
|
5
|
+
require 'coveralls'
|
6
|
+
|
7
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
8
|
+
if ENV['CI']
|
9
|
+
require 'simplecov'
|
10
|
+
|
11
|
+
SimpleCov.start do
|
12
|
+
add_filter '/test/'
|
13
|
+
add_filter '/features/'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
4
18
|
Spinach.hooks.after_run do |scenario|
|
5
19
|
FileUtils.rm_rf(Filesystem.dirs)
|
6
20
|
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
module Integration
|
2
|
+
class FeatureGenerator
|
3
|
+
class << self
|
4
|
+
include Filesystem
|
5
|
+
|
6
|
+
# Generate a feature with 1 scenario that should pass
|
7
|
+
#
|
8
|
+
# @return feature_filename
|
9
|
+
# The feature file name
|
10
|
+
#
|
11
|
+
# @api private
|
12
|
+
def success_feature
|
13
|
+
feature= success_scenario_title + success_scenario
|
14
|
+
steps = success_step_class_str + success_step + "\nend"
|
15
|
+
write_feature 'features/success_feature.feature', feature,
|
16
|
+
'features/steps/success_feature.rb', steps
|
17
|
+
end
|
18
|
+
|
19
|
+
# Generate a feature that has 2 scenarios. The first one should
|
20
|
+
# pass and the second one should fail
|
21
|
+
#
|
22
|
+
# @return feature_filename
|
23
|
+
# The feature file name
|
24
|
+
#
|
25
|
+
# @api private
|
26
|
+
def failure_feature_with_two_scenarios
|
27
|
+
feature = failure_feature_title + failure_sceario + success_scenario
|
28
|
+
steps = failure_step + success_step + "\nend"
|
29
|
+
write_feature failure_filename, feature,
|
30
|
+
failure_step_filename, steps
|
31
|
+
end
|
32
|
+
|
33
|
+
# Generate a feature with 1 scenario that should fail
|
34
|
+
#
|
35
|
+
# @return feature_filename
|
36
|
+
# The feature file name
|
37
|
+
#
|
38
|
+
# @api private
|
39
|
+
def failure_feature
|
40
|
+
feature = failure_feature_title + failure_sceario
|
41
|
+
write_feature failure_filename, feature,
|
42
|
+
failure_step_filename, failure_step + "\nend"
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
# Write feature file and its associated step file
|
48
|
+
# @param feature_file
|
49
|
+
# The name of the feature file to be written to
|
50
|
+
# @param feature
|
51
|
+
# The string to be written into the feature file
|
52
|
+
# @param step_file
|
53
|
+
# The name of the step ruby file to be written to
|
54
|
+
# @param steps
|
55
|
+
# The string to be written into the step file
|
56
|
+
#
|
57
|
+
# @return feature_filename
|
58
|
+
# The feature file name
|
59
|
+
#
|
60
|
+
# @api private
|
61
|
+
def write_feature(feature_file, feature, step_file, steps)
|
62
|
+
write_file(feature_file, feature)
|
63
|
+
write_file(step_file, steps)
|
64
|
+
feature_file
|
65
|
+
end
|
66
|
+
|
67
|
+
def failure_step
|
68
|
+
'class AFailureFeature < Spinach::FeatureSteps
|
69
|
+
feature "A failure feature"
|
70
|
+
Then "I fail" do
|
71
|
+
true.must_equal false
|
72
|
+
end'
|
73
|
+
end
|
74
|
+
|
75
|
+
def success_scenario
|
76
|
+
'Scenario: This is scenario will succeed
|
77
|
+
Then I succeed'
|
78
|
+
end
|
79
|
+
|
80
|
+
def success_scenario_title
|
81
|
+
"Feature: A success feature\n\n"
|
82
|
+
end
|
83
|
+
|
84
|
+
def success_step
|
85
|
+
'
|
86
|
+
step "I succeed" do
|
87
|
+
end'
|
88
|
+
end
|
89
|
+
|
90
|
+
def success_step_class_str
|
91
|
+
%Q|class ASuccessFeature < Spinach::FeatureSteps
|
92
|
+
feature "A success feature"\n\n|
|
93
|
+
end
|
94
|
+
|
95
|
+
def failure_step_filename
|
96
|
+
'features/steps/failure_feature.rb'
|
97
|
+
end
|
98
|
+
|
99
|
+
def failure_filename
|
100
|
+
"features/failure_feature.feature"
|
101
|
+
end
|
102
|
+
|
103
|
+
def failure_feature_title
|
104
|
+
"Feature: A failure feature\n\n"
|
105
|
+
end
|
106
|
+
|
107
|
+
def failure_sceario
|
108
|
+
"""
|
109
|
+
Scenario: This is scenario will fail
|
110
|
+
Then I fail
|
111
|
+
"""
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
data/lib/spinach/capybara.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'capybara'
|
2
2
|
require 'capybara/dsl'
|
3
3
|
require 'rbconfig'
|
4
|
+
require 'spinach/config'
|
4
5
|
require_relative 'feature_steps'
|
5
6
|
|
6
7
|
module Spinach
|
@@ -59,7 +60,7 @@ module Spinach
|
|
59
60
|
end
|
60
61
|
|
61
62
|
Spinach.hooks.after_scenario do
|
62
|
-
::Capybara.
|
63
|
+
::Capybara.reset_sessions! if ::Capybara.app
|
63
64
|
::Capybara.use_default_driver
|
64
65
|
end
|
65
66
|
|
data/lib/spinach/cli.rb
CHANGED
@@ -126,6 +126,11 @@ module Spinach
|
|
126
126
|
'Formatter class name') do |class_name|
|
127
127
|
config[:reporter_class] = reporter_class(class_name)
|
128
128
|
end
|
129
|
+
|
130
|
+
opts.on_tail('--fail-fast',
|
131
|
+
'Terminate the suite run on the first failure') do |class_name|
|
132
|
+
config[:fail_fast] = true
|
133
|
+
end
|
129
134
|
end.parse!(@args)
|
130
135
|
|
131
136
|
Spinach.config.parse_from_file
|
data/lib/spinach/config.rb
CHANGED
@@ -32,7 +32,8 @@ module Spinach
|
|
32
32
|
:generate,
|
33
33
|
:save_and_open_page_on_failure,
|
34
34
|
:reporter_class,
|
35
|
-
:reporter_options
|
35
|
+
:reporter_options,
|
36
|
+
:fail_fast
|
36
37
|
|
37
38
|
|
38
39
|
# The "features path" holds the place where your features will be
|
@@ -131,6 +132,17 @@ module Spinach
|
|
131
132
|
@failure_exceptions ||= []
|
132
133
|
end
|
133
134
|
|
135
|
+
# The "fail_fast" determines if the suite run should exit
|
136
|
+
# when encountering a failure/error
|
137
|
+
#
|
138
|
+
# @return [true/false]
|
139
|
+
# The fail_fast flag.
|
140
|
+
#
|
141
|
+
# @api public
|
142
|
+
def fail_fast
|
143
|
+
@fail_fast
|
144
|
+
end
|
145
|
+
|
134
146
|
# It allows you to set a config file to parse for all the other options to be set
|
135
147
|
#
|
136
148
|
# @return [String]
|
data/lib/spinach/hooks.rb
CHANGED
@@ -83,7 +83,7 @@ module Spinach
|
|
83
83
|
# Runs after every step execution
|
84
84
|
#
|
85
85
|
# @example
|
86
|
-
# Spinach.hooks.
|
86
|
+
# Spinach.hooks.after_step do |step_data, step_definitions|
|
87
87
|
# # step_data contains a hash with this step's data
|
88
88
|
# end
|
89
89
|
hook :after_step
|
data/lib/spinach/runner.rb
CHANGED
@@ -75,6 +75,7 @@ module Spinach
|
|
75
75
|
feature = Parser.open_file(filename).parse
|
76
76
|
success = FeatureRunner.new(feature, line).run
|
77
77
|
successful = false unless success
|
78
|
+
break if fail_fast? && !successful
|
78
79
|
end
|
79
80
|
|
80
81
|
Spinach.hooks.run_after_run(successful)
|
@@ -133,6 +134,12 @@ module Spinach
|
|
133
134
|
def required_files
|
134
135
|
support_files + step_definition_files
|
135
136
|
end
|
137
|
+
|
138
|
+
private
|
139
|
+
|
140
|
+
def fail_fast?
|
141
|
+
Spinach.config.fail_fast
|
142
|
+
end
|
136
143
|
end
|
137
144
|
end
|
138
145
|
|
data/lib/spinach/version.rb
CHANGED
data/spinach.gemspec
CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.add_development_dependency 'simplecov'
|
20
20
|
gem.add_development_dependency 'rspec'
|
21
21
|
gem.add_development_dependency 'minitest'
|
22
|
-
gem.add_development_dependency 'turn'
|
23
22
|
|
24
23
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
25
24
|
gem.files = `git ls-files`.split("\n")
|
data/test/spinach/cli_test.rb
CHANGED
@@ -21,6 +21,14 @@ describe Spinach::Cli do
|
|
21
21
|
config[:reporter_options].must_equal({})
|
22
22
|
end
|
23
23
|
|
24
|
+
it 'sets the default fail-fast option to false' do
|
25
|
+
config = Spinach::Config.new
|
26
|
+
Spinach.stubs(:config).returns(config)
|
27
|
+
cli = Spinach::Cli.new([])
|
28
|
+
cli.options
|
29
|
+
config[:fail_fast].wont_equal(true)
|
30
|
+
end
|
31
|
+
|
24
32
|
it 'sets default tags' do
|
25
33
|
config = Spinach::Config.new
|
26
34
|
Spinach.stubs(:config).returns(config)
|
@@ -154,6 +162,15 @@ tags:
|
|
154
162
|
end
|
155
163
|
end
|
156
164
|
|
165
|
+
describe 'fail-fast' do
|
166
|
+
it 'set the fail_fast flag, given "--fail-fast"' do
|
167
|
+
config = Spinach::Config.new
|
168
|
+
Spinach.stubs(:config).returns(config)
|
169
|
+
Spinach::Cli.new(["--fail-fast"]).options
|
170
|
+
config.fail_fast.must_equal true
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
157
174
|
describe "version" do
|
158
175
|
%w{-v --version}.each do |opt|
|
159
176
|
it "outputs the version" do
|
@@ -256,7 +273,7 @@ tags:
|
|
256
273
|
|
257
274
|
File.stubs(:directory?).returns(true)
|
258
275
|
Dir.expects(:glob).with('path/to/features/**/*.feature')
|
259
|
-
|
276
|
+
.returns(['several features'])
|
260
277
|
|
261
278
|
File.stubs(:exists?).returns(true)
|
262
279
|
|
@@ -70,6 +70,22 @@ describe Spinach::Runner::FeatureRunner do
|
|
70
70
|
|
71
71
|
@runner.run.must_equal false
|
72
72
|
end
|
73
|
+
|
74
|
+
describe "with config option fail_fast set" do
|
75
|
+
let(:runners) { [ stub('runner1', run: false), stub('runner2') ] }
|
76
|
+
|
77
|
+
before(:each) do
|
78
|
+
Spinach.config.stubs(:fail_fast).returns(true)
|
79
|
+
@scenarios.each_with_index do |scenario, i|
|
80
|
+
Spinach::Runner::ScenarioRunner.stubs(:new).with(scenario).returns runners[i]
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it "breaks with fail_fast config option" do
|
85
|
+
runners[1].expects(:run).never
|
86
|
+
@runner.run.must_equal(false)
|
87
|
+
end
|
88
|
+
end
|
73
89
|
end
|
74
90
|
end
|
75
91
|
|
data/test/spinach/runner_test.rb
CHANGED
@@ -72,12 +72,12 @@ describe Spinach::Runner do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
describe '#run' do
|
75
|
-
before do
|
75
|
+
before(:each) do
|
76
76
|
@feature_runner = stub
|
77
77
|
filenames.each do |filename|
|
78
|
-
Spinach::Parser.
|
78
|
+
Spinach::Parser.stubs(:open_file).with(filename).returns parser = stub
|
79
79
|
parser.stubs(:parse).returns feature = stub
|
80
|
-
Spinach::Runner::FeatureRunner.
|
80
|
+
Spinach::Runner::FeatureRunner.stubs(:new).
|
81
81
|
with(feature, anything).
|
82
82
|
returns(@feature_runner)
|
83
83
|
end
|
@@ -100,6 +100,35 @@ describe Spinach::Runner do
|
|
100
100
|
@feature_runner.stubs(:run).returns(false)
|
101
101
|
runner.run.must_equal false
|
102
102
|
end
|
103
|
+
|
104
|
+
describe "when fail_fast set" do
|
105
|
+
let(:feature_runners) { [ stub, stub ] }
|
106
|
+
|
107
|
+
before(:each) do
|
108
|
+
filenames.each_with_index do |filename, i|
|
109
|
+
Spinach::Parser.stubs(:open_file).with(filename).returns parser = stub
|
110
|
+
parser.stubs(:parse).returns feature = stub
|
111
|
+
Spinach::Runner::FeatureRunner.stubs(:new).
|
112
|
+
with(feature, anything).
|
113
|
+
returns(feature_runners[i])
|
114
|
+
end
|
115
|
+
|
116
|
+
feature_runners[0].stubs(:run).returns(false)
|
117
|
+
runner.stubs(required_files: [])
|
118
|
+
Spinach.config.stubs(:fail_fast).returns true
|
119
|
+
end
|
120
|
+
|
121
|
+
it "breaks with a failure" do
|
122
|
+
feature_runners[1].expects(:run).never
|
123
|
+
runner.run.must_equal false
|
124
|
+
end
|
125
|
+
|
126
|
+
it "doesn't break when success" do
|
127
|
+
feature_runners[0].stubs(:run).returns(true)
|
128
|
+
feature_runners[1].expects(:run).returns true
|
129
|
+
runner.run.must_equal true
|
130
|
+
end
|
131
|
+
end
|
103
132
|
end
|
104
133
|
|
105
134
|
describe '#require_dependencies' do
|
data/test/test_helper.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
2
3
|
|
3
|
-
|
4
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
5
|
+
if ENV['CI']
|
4
6
|
require 'simplecov'
|
5
7
|
|
6
8
|
SimpleCov.start do
|
@@ -9,13 +11,12 @@ if ENV['COVERAGE']
|
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
12
|
-
require 'minitest/spec'
|
13
14
|
require 'minitest/autorun'
|
15
|
+
require 'minitest/spec'
|
14
16
|
require 'mocha/setup'
|
15
17
|
require 'ostruct'
|
16
18
|
require 'stringio'
|
17
19
|
require 'pry'
|
18
|
-
require 'turn'
|
19
20
|
|
20
21
|
require 'spinach'
|
21
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spinach
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-04
|
14
|
+
date: 2013-06-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: gherkin-ruby
|
@@ -153,20 +153,6 @@ dependencies:
|
|
153
153
|
- - '>='
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
|
-
- !ruby/object:Gem::Dependency
|
157
|
-
name: turn
|
158
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
-
requirements:
|
160
|
-
- - '>='
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
version: '0'
|
163
|
-
type: :development
|
164
|
-
prerelease: false
|
165
|
-
version_requirements: !ruby/object:Gem::Requirement
|
166
|
-
requirements:
|
167
|
-
- - '>='
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: '0'
|
170
156
|
description: Spinach is a BDD framework on top of gherkin
|
171
157
|
email:
|
172
158
|
- info@codegram.com
|
@@ -195,6 +181,7 @@ files:
|
|
195
181
|
- features/before_and_after_hooks.feature
|
196
182
|
- features/before_and_after_hooks_inheritance.feature
|
197
183
|
- features/exit_status.feature
|
184
|
+
- features/fail_fast.feature
|
198
185
|
- features/feature_name_guessing.feature
|
199
186
|
- features/reporting/customized_reporter.feature
|
200
187
|
- features/reporting/display_run_summary.feature
|
@@ -208,6 +195,7 @@ files:
|
|
208
195
|
- features/steps/before_and_after_hooks.rb
|
209
196
|
- features/steps/before_and_after_hooks_inheritance.rb
|
210
197
|
- features/steps/exit_status.rb
|
198
|
+
- features/steps/fail_fast_option.rb
|
211
199
|
- features/steps/feature_name_guessing.rb
|
212
200
|
- features/steps/reporting/display_run_summary.rb
|
213
201
|
- features/steps/reporting/error_reporting.rb
|
@@ -218,6 +206,7 @@ files:
|
|
218
206
|
- features/steps/rspec_compatibility.rb
|
219
207
|
- features/support/env.rb
|
220
208
|
- features/support/error_reporting.rb
|
209
|
+
- features/support/feature_generator.rb
|
221
210
|
- features/support/filesystem.rb
|
222
211
|
- features/support/spinach_runner.rb
|
223
212
|
- lib/spinach.rb
|
@@ -311,6 +300,7 @@ test_files:
|
|
311
300
|
- features/before_and_after_hooks.feature
|
312
301
|
- features/before_and_after_hooks_inheritance.feature
|
313
302
|
- features/exit_status.feature
|
303
|
+
- features/fail_fast.feature
|
314
304
|
- features/feature_name_guessing.feature
|
315
305
|
- features/reporting/customized_reporter.feature
|
316
306
|
- features/reporting/display_run_summary.feature
|
@@ -324,6 +314,7 @@ test_files:
|
|
324
314
|
- features/steps/before_and_after_hooks.rb
|
325
315
|
- features/steps/before_and_after_hooks_inheritance.rb
|
326
316
|
- features/steps/exit_status.rb
|
317
|
+
- features/steps/fail_fast_option.rb
|
327
318
|
- features/steps/feature_name_guessing.rb
|
328
319
|
- features/steps/reporting/display_run_summary.rb
|
329
320
|
- features/steps/reporting/error_reporting.rb
|
@@ -334,6 +325,7 @@ test_files:
|
|
334
325
|
- features/steps/rspec_compatibility.rb
|
335
326
|
- features/support/env.rb
|
336
327
|
- features/support/error_reporting.rb
|
328
|
+
- features/support/feature_generator.rb
|
337
329
|
- features/support/filesystem.rb
|
338
330
|
- features/support/spinach_runner.rb
|
339
331
|
- test/spinach/background_test.rb
|
@@ -365,4 +357,3 @@ test_files:
|
|
365
357
|
- test/spinach_test.rb
|
366
358
|
- test/support/filesystem.rb
|
367
359
|
- test/test_helper.rb
|
368
|
-
has_rdoc:
|