rspec-core 2.11.1 → 2.12.0
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.
- data/Changelog.md +59 -0
- data/README.md +22 -0
- data/features/command_line/example_name_option.feature +5 -5
- data/features/command_line/exit_status.feature +6 -6
- data/features/command_line/format_option.feature +2 -2
- data/features/command_line/line_number_appended_to_path.feature +2 -2
- data/features/command_line/line_number_option.feature +2 -2
- data/features/command_line/pattern_option.feature +2 -2
- data/features/command_line/rake_task.feature +62 -8
- data/features/command_line/ruby.feature +1 -1
- data/features/command_line/tag.feature +1 -1
- data/features/configuration/alias_example_to.feature +2 -2
- data/features/configuration/custom_settings.feature +3 -3
- data/features/configuration/default_path.feature +3 -3
- data/features/configuration/fail_fast.feature +5 -5
- data/features/configuration/read_options_from_file.feature +4 -4
- data/features/example_groups/basic_structure.feature +2 -2
- data/features/example_groups/shared_context.feature +3 -3
- data/features/example_groups/shared_examples.feature +25 -7
- data/features/expectation_framework_integration/configure_expectation_framework.feature +6 -6
- data/features/filtering/exclusion_filters.feature +5 -5
- data/features/filtering/if_and_unless.feature +5 -5
- data/features/filtering/inclusion_filters.feature +5 -5
- data/features/filtering/run_all_when_everything_filtered.feature +3 -3
- data/features/formatters/custom_formatter.feature +2 -2
- data/features/formatters/json_formatter.feature +30 -0
- data/features/formatters/text_formatter.feature +5 -5
- data/features/helper_methods/arbitrary_methods.feature +2 -2
- data/features/helper_methods/let.feature +2 -2
- data/features/helper_methods/modules.feature +6 -6
- data/features/hooks/around_hooks.feature +11 -11
- data/features/hooks/before_and_after_hooks.feature +15 -11
- data/features/hooks/filtering.feature +6 -6
- data/features/metadata/current_example.feature +1 -1
- data/features/metadata/described_class.feature +1 -1
- data/features/metadata/user_defined.feature +4 -4
- data/features/mock_framework_integration/use_any_framework.feature +6 -6
- data/features/mock_framework_integration/use_flexmock.feature +5 -5
- data/features/mock_framework_integration/use_mocha.feature +5 -5
- data/features/mock_framework_integration/use_rr.feature +5 -5
- data/features/mock_framework_integration/use_rspec.feature +5 -5
- data/features/pending/pending_examples.feature +11 -11
- data/features/spec_files/arbitrary_file_suffix.feature +1 -1
- data/features/step_definitions/additional_cli_steps.rb +2 -0
- data/features/subject/attribute_of_subject.feature +5 -5
- data/features/subject/explicit_subject.feature +5 -5
- data/features/subject/implicit_receiver.feature +2 -2
- data/features/subject/implicit_subject.feature +3 -3
- data/lib/autotest/rspec2.rb +1 -1
- data/lib/rspec/core.rb +53 -32
- data/lib/rspec/core/configuration.rb +123 -15
- data/lib/rspec/core/configuration_options.rb +17 -2
- data/lib/rspec/core/example.rb +5 -4
- data/lib/rspec/core/example_group.rb +19 -9
- data/lib/rspec/core/extensions/ordered.rb +12 -6
- data/lib/rspec/core/formatters.rb +55 -0
- data/lib/rspec/core/formatters/base_formatter.rb +43 -38
- data/lib/rspec/core/formatters/base_text_formatter.rb +9 -5
- data/lib/rspec/core/formatters/documentation_formatter.rb +1 -1
- data/lib/rspec/core/formatters/helpers.rb +30 -5
- data/lib/rspec/core/formatters/html_formatter.rb +58 -368
- data/lib/rspec/core/formatters/html_printer.rb +407 -0
- data/lib/rspec/core/formatters/json_formatter.rb +73 -0
- data/lib/rspec/core/formatters/snippet_extractor.rb +3 -1
- data/lib/rspec/core/hooks.rb +4 -4
- data/lib/rspec/core/metadata.rb +14 -6
- data/lib/rspec/core/mocking/with_mocha.rb +25 -2
- data/lib/rspec/core/mocking/with_rspec.rb +6 -2
- data/lib/rspec/core/option_parser.rb +28 -7
- data/lib/rspec/core/project_initializer.rb +0 -1
- data/lib/rspec/core/rake_task.rb +49 -38
- data/lib/rspec/core/reporter.rb +2 -2
- data/lib/rspec/core/shared_example_group.rb +89 -41
- data/lib/rspec/core/subject.rb +6 -2
- data/lib/rspec/core/version.rb +1 -1
- data/lib/rspec/core/world.rb +2 -2
- data/spec/autotest/rspec_spec.rb +6 -1
- data/spec/command_line/order_spec.rb +67 -0
- data/spec/rspec/core/configuration_options_spec.rb +45 -38
- data/spec/rspec/core/configuration_spec.rb +219 -44
- data/spec/rspec/core/deprecations_spec.rb +9 -0
- data/spec/rspec/core/drb_command_line_spec.rb +1 -7
- data/spec/rspec/core/drb_options_spec.rb +1 -1
- data/spec/rspec/core/dsl_spec.rb +17 -9
- data/spec/rspec/core/example_group_spec.rb +51 -5
- data/spec/rspec/core/example_spec.rb +39 -7
- data/spec/rspec/core/filter_manager_spec.rb +20 -30
- data/spec/rspec/core/formatters/base_formatter_spec.rb +29 -1
- data/spec/rspec/core/formatters/base_text_formatter_spec.rb +6 -2
- data/spec/rspec/core/formatters/helpers_spec.rb +12 -0
- data/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +462 -0
- data/spec/rspec/core/formatters/html_formatted-1.9.2-jruby.html +410 -0
- data/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +462 -0
- data/spec/rspec/core/formatters/html_formatter_spec.rb +11 -3
- data/spec/rspec/core/formatters/json_formatter_spec.rb +110 -0
- data/spec/rspec/core/formatters/snippet_extractor_spec.rb +8 -0
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +462 -0
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.2-jruby.html +410 -0
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +462 -0
- data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +11 -3
- data/spec/rspec/core/hooks_filtering_spec.rb +6 -6
- data/spec/rspec/core/metadata_spec.rb +29 -0
- data/spec/rspec/core/option_parser_spec.rb +42 -0
- data/spec/rspec/core/project_initializer_spec.rb +2 -2
- data/spec/rspec/core/rake_task_spec.rb +60 -17
- data/spec/rspec/core/reporter_spec.rb +17 -0
- data/spec/rspec/core/runner_spec.rb +1 -0
- data/spec/rspec/core/shared_example_group_spec.rb +17 -5
- data/spec/rspec/core/subject_spec.rb +11 -0
- data/spec/spec_helper.rb +32 -2
- data/spec/support/config_options_helper.rb +1 -10
- data/spec/support/helper_methods.rb +13 -0
- data/spec/support/isolated_directory.rb +10 -0
- data/spec/support/isolated_home_directory.rb +16 -0
- metadata +145 -148
- data/lib/rspec/core/extensions.rb +0 -4
@@ -6,13 +6,13 @@ Feature: fail fast
|
|
6
6
|
|
7
7
|
Background:
|
8
8
|
Given a file named "spec/spec_helper.rb" with:
|
9
|
-
"""
|
9
|
+
"""ruby
|
10
10
|
RSpec.configure {|c| c.fail_fast = true}
|
11
11
|
"""
|
12
12
|
|
13
13
|
Scenario: fail_fast with no failures (runs all examples)
|
14
14
|
Given a file named "spec/example_spec.rb" with:
|
15
|
-
"""
|
15
|
+
"""ruby
|
16
16
|
describe "something" do
|
17
17
|
it "passes" do
|
18
18
|
end
|
@@ -26,7 +26,7 @@ Feature: fail fast
|
|
26
26
|
|
27
27
|
Scenario: fail_fast with first example failing (only runs the one example)
|
28
28
|
Given a file named "spec/example_spec.rb" with:
|
29
|
-
"""
|
29
|
+
"""ruby
|
30
30
|
require "spec_helper"
|
31
31
|
describe "something" do
|
32
32
|
it "fails" do
|
@@ -42,7 +42,7 @@ Feature: fail fast
|
|
42
42
|
|
43
43
|
Scenario: fail_fast with multiple files, second example failing (only runs the first two examples)
|
44
44
|
Given a file named "spec/example_1_spec.rb" with:
|
45
|
-
"""
|
45
|
+
"""ruby
|
46
46
|
require "spec_helper"
|
47
47
|
describe "something" do
|
48
48
|
it "passes" do
|
@@ -60,7 +60,7 @@ Feature: fail fast
|
|
60
60
|
end
|
61
61
|
"""
|
62
62
|
And a file named "spec/example_2_spec.rb" with:
|
63
|
-
"""
|
63
|
+
"""ruby
|
64
64
|
require "spec_helper"
|
65
65
|
describe "something" do
|
66
66
|
it "passes" do
|
@@ -15,7 +15,7 @@ Feature: read command line configuration options from files
|
|
15
15
|
--color
|
16
16
|
"""
|
17
17
|
And a file named "spec/example_spec.rb" with:
|
18
|
-
"""
|
18
|
+
"""ruby
|
19
19
|
describe "color_enabled" do
|
20
20
|
context "when set with RSpec.configure" do
|
21
21
|
before do
|
@@ -39,7 +39,7 @@ Feature: read command line configuration options from files
|
|
39
39
|
--format documentation
|
40
40
|
"""
|
41
41
|
And a file named "spec/example_spec.rb" with:
|
42
|
-
"""
|
42
|
+
"""ruby
|
43
43
|
describe "formatter set in custom options file" do
|
44
44
|
it "sets formatter" do
|
45
45
|
RSpec.configuration.formatters.first.
|
@@ -60,7 +60,7 @@ Feature: read command line configuration options from files
|
|
60
60
|
--color
|
61
61
|
"""
|
62
62
|
And a file named "spec/example_spec.rb" with:
|
63
|
-
"""
|
63
|
+
"""ruby
|
64
64
|
describe "custom options file" do
|
65
65
|
it "causes .rspec to be ignored" do
|
66
66
|
RSpec.configuration.color_enabled.should be_false
|
@@ -76,7 +76,7 @@ Feature: read command line configuration options from files
|
|
76
76
|
--format <%= true ? 'documentation' : 'progress' %>
|
77
77
|
"""
|
78
78
|
And a file named "spec/example_spec.rb" with:
|
79
|
-
"""
|
79
|
+
"""ruby
|
80
80
|
describe "formatter" do
|
81
81
|
it "is set to documentation" do
|
82
82
|
RSpec.configuration.formatters.first.should be_an(RSpec::Core::Formatters::DocumentationFormatter)
|
@@ -17,7 +17,7 @@ Feature: basic structure (describe/it)
|
|
17
17
|
|
18
18
|
Scenario: one group, one example
|
19
19
|
Given a file named "sample_spec.rb" with:
|
20
|
-
"""
|
20
|
+
"""ruby
|
21
21
|
describe "something" do
|
22
22
|
it "does something" do
|
23
23
|
end
|
@@ -32,7 +32,7 @@ Feature: basic structure (describe/it)
|
|
32
32
|
|
33
33
|
Scenario: nested example groups (using context)
|
34
34
|
Given a file named "nested_example_groups_spec.rb" with:
|
35
|
-
"""
|
35
|
+
"""ruby
|
36
36
|
describe "something" do
|
37
37
|
context "in one context" do
|
38
38
|
it "does one thing" do
|
@@ -6,7 +6,7 @@ Feature: shared context
|
|
6
6
|
|
7
7
|
Background:
|
8
8
|
Given a file named "shared_stuff.rb" with:
|
9
|
-
"""
|
9
|
+
"""ruby
|
10
10
|
shared_context "shared stuff", :a => :b do
|
11
11
|
before { @some_var = :some_value }
|
12
12
|
def shared_method
|
@@ -21,7 +21,7 @@ Feature: shared context
|
|
21
21
|
|
22
22
|
Scenario: declare shared context and include it with include_context
|
23
23
|
Given a file named "shared_context_example.rb" with:
|
24
|
-
"""
|
24
|
+
"""ruby
|
25
25
|
require "./shared_stuff.rb"
|
26
26
|
|
27
27
|
describe "group that includes a shared context using 'include_context'" do
|
@@ -49,7 +49,7 @@ Feature: shared context
|
|
49
49
|
|
50
50
|
Scenario: declare shared context and include it with metadata
|
51
51
|
Given a file named "shared_context_example.rb" with:
|
52
|
-
"""
|
52
|
+
"""ruby
|
53
53
|
require "./shared_stuff.rb"
|
54
54
|
|
55
55
|
describe "group that includes a shared context using metadata", :a => :b do
|
@@ -6,10 +6,11 @@ Feature: shared examples
|
|
6
6
|
needs to run.
|
7
7
|
|
8
8
|
A shared group is included in another group using any of:
|
9
|
-
|
9
|
+
|
10
10
|
include_examples "name" # include the examples in the current context
|
11
11
|
it_behaves_like "name" # include the examples in a nested context
|
12
12
|
it_should_behave_like "name" # include the examples in a nested context
|
13
|
+
matching metadata # include the examples in the current context
|
13
14
|
|
14
15
|
WARNING: Files containing shared groups must be loaded before the files that
|
15
16
|
use them. While there are conventions to handle this, RSpec does _not_ do
|
@@ -27,7 +28,7 @@ Feature: shared examples
|
|
27
28
|
2. Put files containing shared examples in `spec/support/` and require files
|
28
29
|
in that directory from `spec/spec_helper.rb`:
|
29
30
|
|
30
|
-
Dir["./spec/support/**/*.rb"].each {|f| require f}
|
31
|
+
Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
|
31
32
|
|
32
33
|
This is included in the generated `spec/spec_helper.rb` file in
|
33
34
|
`rspec-rails`
|
@@ -37,7 +38,7 @@ Feature: shared examples
|
|
37
38
|
|
38
39
|
Scenario: shared examples group included in two groups in one file
|
39
40
|
Given a file named "collection_spec.rb" with:
|
40
|
-
"""
|
41
|
+
"""ruby
|
41
42
|
require "set"
|
42
43
|
|
43
44
|
shared_examples "a collection" do
|
@@ -99,7 +100,7 @@ Feature: shared examples
|
|
99
100
|
|
100
101
|
Scenario: Providing context to a shared group using a block
|
101
102
|
Given a file named "shared_example_group_spec.rb" with:
|
102
|
-
"""
|
103
|
+
"""ruby
|
103
104
|
require "set"
|
104
105
|
|
105
106
|
shared_examples "a collection object" do
|
@@ -107,7 +108,7 @@ Feature: shared examples
|
|
107
108
|
it "adds objects to the end of the collection" do
|
108
109
|
collection << 1
|
109
110
|
collection << 2
|
110
|
-
collection.to_a.
|
111
|
+
expect(collection.to_a).to match_array([1, 2])
|
111
112
|
end
|
112
113
|
end
|
113
114
|
end
|
@@ -141,7 +142,7 @@ Feature: shared examples
|
|
141
142
|
|
142
143
|
Scenario: Passing parameters to a shared example group
|
143
144
|
Given a file named "shared_example_group_params_spec.rb" with:
|
144
|
-
"""
|
145
|
+
"""ruby
|
145
146
|
shared_examples "a measurable object" do |measurement, measurement_methods|
|
146
147
|
measurement_methods.each do |measurement_method|
|
147
148
|
it "should return #{measurement} from ##{measurement_method}" do
|
@@ -177,7 +178,7 @@ Feature: shared examples
|
|
177
178
|
|
178
179
|
Scenario: Aliasing "it_should_behave_like" to "it_has_behavior"
|
179
180
|
Given a file named "shared_example_group_spec.rb" with:
|
180
|
-
"""
|
181
|
+
"""ruby
|
181
182
|
RSpec.configure do |c|
|
182
183
|
c.alias_it_should_behave_like_to :it_has_behavior, 'has behavior:'
|
183
184
|
end
|
@@ -202,3 +203,20 @@ Feature: shared examples
|
|
202
203
|
has behavior: sortability
|
203
204
|
responds to <=>
|
204
205
|
"""
|
206
|
+
|
207
|
+
Scenario: Sharing metadata automatically includes shared example groups
|
208
|
+
Given a file named "shared_example_metadata_spec.rb" with:
|
209
|
+
"""ruby
|
210
|
+
shared_examples "shared stuff", :a => :b do
|
211
|
+
it 'runs wherever the metadata is shared' do
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
describe String, :a => :b do
|
216
|
+
end
|
217
|
+
"""
|
218
|
+
When I run `rspec shared_example_metadata_spec.rb`
|
219
|
+
Then the output should contain:
|
220
|
+
"""
|
221
|
+
1 example, 0 failures
|
222
|
+
"""
|
@@ -7,7 +7,7 @@ Feature: configure expectation framework
|
|
7
7
|
* stdlib assertions
|
8
8
|
* test/unit assertions in ruby 1.8
|
9
9
|
* minitest assertions in ruby 1.9
|
10
|
-
* rspec/
|
10
|
+
* rspec/expectations _and_ stlib assertions
|
11
11
|
|
12
12
|
Note that when you do not use rspec-expectations, you must explicitly
|
13
13
|
provide a description to every example. You cannot rely on the generated
|
@@ -15,7 +15,7 @@ Feature: configure expectation framework
|
|
15
15
|
|
16
16
|
Scenario: rspec-expectations can be used by default if nothing is configured
|
17
17
|
Given a file named "example_spec.rb" with:
|
18
|
-
"""
|
18
|
+
"""ruby
|
19
19
|
RSpec::Matchers.define :be_a_multiple_of do |factor|
|
20
20
|
match do |actual|
|
21
21
|
actual % factor == 0
|
@@ -31,7 +31,7 @@ Feature: configure expectation framework
|
|
31
31
|
|
32
32
|
Scenario: configure rspec-expectations (explicitly)
|
33
33
|
Given a file named "example_spec.rb" with:
|
34
|
-
"""
|
34
|
+
"""ruby
|
35
35
|
RSpec.configure do |config|
|
36
36
|
config.expect_with :rspec
|
37
37
|
end
|
@@ -47,7 +47,7 @@ Feature: configure expectation framework
|
|
47
47
|
|
48
48
|
Scenario: configure test/unit assertions (passing examples)
|
49
49
|
Given a file named "example_spec.rb" with:
|
50
|
-
"""
|
50
|
+
"""ruby
|
51
51
|
RSpec.configure do |config|
|
52
52
|
config.expect_with :stdlib
|
53
53
|
end
|
@@ -65,7 +65,7 @@ Feature: configure expectation framework
|
|
65
65
|
|
66
66
|
Scenario: configure test/unit assertions (failing examples)
|
67
67
|
Given a file named "example_spec.rb" with:
|
68
|
-
"""
|
68
|
+
"""ruby
|
69
69
|
RSpec.configure do |config|
|
70
70
|
config.expect_with :stdlib
|
71
71
|
end
|
@@ -83,7 +83,7 @@ Feature: configure expectation framework
|
|
83
83
|
|
84
84
|
Scenario: configure rspec/expecations AND test/unit assertions
|
85
85
|
Given a file named "example_spec.rb" with:
|
86
|
-
"""
|
86
|
+
"""ruby
|
87
87
|
RSpec.configure do |config|
|
88
88
|
config.expect_with :rspec, :stdlib
|
89
89
|
end
|
@@ -8,7 +8,7 @@ Feature: exclusion filters
|
|
8
8
|
|
9
9
|
Scenario: exclude an example
|
10
10
|
Given a file named "spec/sample_spec.rb" with:
|
11
|
-
"""
|
11
|
+
"""ruby
|
12
12
|
RSpec.configure do |c|
|
13
13
|
# declare an exclusion filter
|
14
14
|
c.filter_run_excluding :broken => true
|
@@ -29,7 +29,7 @@ Feature: exclusion filters
|
|
29
29
|
|
30
30
|
Scenario: exclude a group
|
31
31
|
Given a file named "spec/sample_spec.rb" with:
|
32
|
-
"""
|
32
|
+
"""ruby
|
33
33
|
RSpec.configure do |c|
|
34
34
|
c.filter_run_excluding :broken => true
|
35
35
|
end
|
@@ -54,7 +54,7 @@ Feature: exclusion filters
|
|
54
54
|
|
55
55
|
Scenario: exclude multiple groups
|
56
56
|
Given a file named "spec/sample_spec.rb" with:
|
57
|
-
"""
|
57
|
+
"""ruby
|
58
58
|
RSpec.configure do |c|
|
59
59
|
c.filter_run_excluding :broken => true
|
60
60
|
end
|
@@ -88,7 +88,7 @@ Feature: exclusion filters
|
|
88
88
|
|
89
89
|
Scenario: before/after(:all) hooks in excluded example group are not run
|
90
90
|
Given a file named "spec/before_after_all_exclusion_filter_spec.rb" with:
|
91
|
-
"""
|
91
|
+
"""ruby
|
92
92
|
RSpec.configure do |c|
|
93
93
|
c.filter_run_excluding :broken => true
|
94
94
|
end
|
@@ -119,7 +119,7 @@ Feature: exclusion filters
|
|
119
119
|
|
120
120
|
Scenario: Use symbols as metadata
|
121
121
|
Given a file named "symbols_as_metadata_spec.rb" with:
|
122
|
-
"""
|
122
|
+
"""ruby
|
123
123
|
RSpec.configure do |c|
|
124
124
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
125
125
|
c.filter_run_excluding :broken
|
@@ -5,7 +5,7 @@ Feature: :if and :unless
|
|
5
5
|
|
6
6
|
Scenario: implicit :if filter
|
7
7
|
Given a file named "implicit_if_filter_spec.rb" with:
|
8
|
-
"""
|
8
|
+
"""ruby
|
9
9
|
describe ":if => true group", :if => true do
|
10
10
|
it(":if => true group :if => true example", :if => true) { }
|
11
11
|
it(":if => true group :if => false example", :if => false) { }
|
@@ -39,7 +39,7 @@ Feature: :if and :unless
|
|
39
39
|
|
40
40
|
Scenario: implicit :unless filter
|
41
41
|
Given a file named "implicit_unless_filter_spec.rb" with:
|
42
|
-
"""
|
42
|
+
"""ruby
|
43
43
|
describe ":unless => true group", :unless => true do
|
44
44
|
it(":unless => true group :unless => true example", :unless => true) { }
|
45
45
|
it(":unless => true group :unless => false example", :unless => false) { }
|
@@ -73,7 +73,7 @@ Feature: :if and :unless
|
|
73
73
|
|
74
74
|
Scenario: combining implicit filter with explicit inclusion filter
|
75
75
|
Given a file named "explicit_inclusion_filter_spec.rb" with:
|
76
|
-
"""
|
76
|
+
"""ruby
|
77
77
|
RSpec.configure do |c|
|
78
78
|
c.filter_run :focus => true
|
79
79
|
end
|
@@ -106,7 +106,7 @@ Feature: :if and :unless
|
|
106
106
|
|
107
107
|
Scenario: combining implicit filter with explicit exclusion filter
|
108
108
|
Given a file named "explicit_exclusion_filter_spec.rb" with:
|
109
|
-
"""
|
109
|
+
"""ruby
|
110
110
|
RSpec.configure do |c|
|
111
111
|
c.filter_run_excluding :broken => true
|
112
112
|
end
|
@@ -139,7 +139,7 @@ Feature: :if and :unless
|
|
139
139
|
|
140
140
|
Scenario: override implicit :if and :unless exclusion filters
|
141
141
|
Given a file named "override_implicit_filters_spec.rb" with:
|
142
|
-
"""
|
142
|
+
"""ruby
|
143
143
|
RSpec.configure do |c|
|
144
144
|
c.filter_run_excluding :if => :exclude_me, :unless => :exclude_me_for_unless
|
145
145
|
end
|
@@ -9,7 +9,7 @@ Feature: inclusion filters
|
|
9
9
|
|
10
10
|
Background:
|
11
11
|
Given a file named "spec/spec_helper.rb" with:
|
12
|
-
"""
|
12
|
+
"""ruby
|
13
13
|
RSpec.configure do |c|
|
14
14
|
c.filter_run_including :focus => true
|
15
15
|
end
|
@@ -17,7 +17,7 @@ Feature: inclusion filters
|
|
17
17
|
|
18
18
|
Scenario: focus on an example
|
19
19
|
Given a file named "spec/sample_spec.rb" with:
|
20
|
-
"""
|
20
|
+
"""ruby
|
21
21
|
require "spec_helper"
|
22
22
|
|
23
23
|
describe "something" do
|
@@ -34,7 +34,7 @@ Feature: inclusion filters
|
|
34
34
|
|
35
35
|
Scenario: focus on a group
|
36
36
|
Given a file named "spec/sample_spec.rb" with:
|
37
|
-
"""
|
37
|
+
"""ruby
|
38
38
|
require "spec_helper"
|
39
39
|
|
40
40
|
describe "group 1", :focus => true do
|
@@ -57,7 +57,7 @@ Feature: inclusion filters
|
|
57
57
|
|
58
58
|
Scenario: before/after(:all) hooks in unmatched example group are not run
|
59
59
|
Given a file named "spec/before_after_all_inclusion_filter_spec.rb" with:
|
60
|
-
"""
|
60
|
+
"""ruby
|
61
61
|
require "spec_helper"
|
62
62
|
|
63
63
|
describe "group 1", :focus => true do
|
@@ -86,7 +86,7 @@ Feature: inclusion filters
|
|
86
86
|
|
87
87
|
Scenario: Use symbols as metadata
|
88
88
|
Given a file named "symbols_as_metadata_spec.rb" with:
|
89
|
-
"""
|
89
|
+
"""ruby
|
90
90
|
RSpec.configure do |c|
|
91
91
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
92
92
|
c.filter_run :current_example
|
@@ -1,12 +1,12 @@
|
|
1
1
|
Feature: run all when everything filtered
|
2
2
|
|
3
|
-
Use the run_all_when_everything_filtered configuration option to do just
|
3
|
+
Use the `run_all_when_everything_filtered` configuration option to do just
|
4
4
|
that. This works well when paired with an inclusion filter like ":focus =>
|
5
5
|
true", as it will run all the examples when none match the inclusion filter.
|
6
6
|
|
7
7
|
Background:
|
8
8
|
Given a file named "spec/spec_helper.rb" with:
|
9
|
-
"""
|
9
|
+
"""ruby
|
10
10
|
RSpec.configure do |c|
|
11
11
|
c.filter_run :focus => true
|
12
12
|
c.run_all_when_everything_filtered = true
|
@@ -15,7 +15,7 @@ Feature: run all when everything filtered
|
|
15
15
|
|
16
16
|
Scenario: no examples match filter (runs all examples)
|
17
17
|
Given a file named "spec/sample_spec.rb" with:
|
18
|
-
"""
|
18
|
+
"""ruby
|
19
19
|
require "spec_helper"
|
20
20
|
|
21
21
|
describe "group 1" do
|
@@ -11,7 +11,7 @@ Feature: custom formatters
|
|
11
11
|
|
12
12
|
Scenario: custom formatter
|
13
13
|
Given a file named "custom_formatter.rb" with:
|
14
|
-
"""
|
14
|
+
"""ruby
|
15
15
|
require "rspec/core/formatters/base_text_formatter"
|
16
16
|
|
17
17
|
class CustomFormatter < RSpec::Core::Formatters::BaseTextFormatter
|
@@ -25,7 +25,7 @@ Feature: custom formatters
|
|
25
25
|
end
|
26
26
|
"""
|
27
27
|
And a file named "example_spec.rb" with:
|
28
|
-
"""
|
28
|
+
"""ruby
|
29
29
|
describe "my group" do
|
30
30
|
specify "my example" do
|
31
31
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Feature: JSON formatter
|
2
|
+
|
3
|
+
Scenario: Formatting example names for retry
|
4
|
+
Given a file named "various_spec.rb" with:
|
5
|
+
"""ruby
|
6
|
+
describe "Various" do
|
7
|
+
it "fails" do
|
8
|
+
"fail".should eq("succeed")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "succeeds" do
|
12
|
+
"succeed".should eq("succeed")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "pends"
|
16
|
+
end
|
17
|
+
"""
|
18
|
+
When I run `rspec various_spec.rb --format j`
|
19
|
+
Then the output should contain all of these:
|
20
|
+
|"summary_line":"3 examples, 1 failure, 1 pending"|
|
21
|
+
|"examples":[ |
|
22
|
+
|"description":"fails" |
|
23
|
+
|"full_description":"Various fails" |
|
24
|
+
|"status":"failed" |
|
25
|
+
|"file_path":"./various_spec.rb" |
|
26
|
+
|"line_number":2 |
|
27
|
+
|"exception":{ |
|
28
|
+
|"class":"RSpec::Expectations::ExpectationNotMetError"|
|
29
|
+
|
30
|
+
And the exit status should be 1
|