rspec-core 3.0.0.beta2 → 3.0.0.rc1

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.
Files changed (201) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.yardopts +1 -0
  5. data/Changelog.md +297 -57
  6. data/README.md +16 -13
  7. data/lib/rspec/core.rb +55 -84
  8. data/lib/rspec/core/backport_random.rb +35 -3
  9. data/lib/rspec/core/backtrace_formatter.rb +4 -13
  10. data/lib/rspec/core/configuration.rb +330 -114
  11. data/lib/rspec/core/configuration_options.rb +38 -22
  12. data/lib/rspec/core/drb.rb +111 -0
  13. data/lib/rspec/core/dsl.rb +8 -2
  14. data/lib/rspec/core/example.rb +203 -94
  15. data/lib/rspec/core/example_group.rb +344 -316
  16. data/lib/rspec/core/filter_manager.rb +135 -90
  17. data/lib/rspec/core/flat_map.rb +1 -0
  18. data/lib/rspec/core/formatters.rb +50 -14
  19. data/lib/rspec/core/formatters/base_formatter.rb +32 -138
  20. data/lib/rspec/core/formatters/base_text_formatter.rb +32 -253
  21. data/lib/rspec/core/formatters/console_codes.rb +65 -0
  22. data/lib/rspec/core/formatters/deprecation_formatter.rb +24 -15
  23. data/lib/rspec/core/formatters/documentation_formatter.rb +7 -10
  24. data/lib/rspec/core/formatters/helpers.rb +15 -9
  25. data/lib/rspec/core/formatters/html_formatter.rb +17 -16
  26. data/lib/rspec/core/formatters/html_printer.rb +1 -0
  27. data/lib/rspec/core/formatters/json_formatter.rb +18 -20
  28. data/lib/rspec/core/formatters/profile_formatter.rb +67 -0
  29. data/lib/rspec/core/formatters/progress_formatter.rb +6 -7
  30. data/lib/rspec/core/formatters/snippet_extractor.rb +8 -6
  31. data/lib/rspec/core/hooks.rb +131 -125
  32. data/lib/rspec/core/memoized_helpers.rb +31 -26
  33. data/lib/rspec/core/metadata.rb +277 -184
  34. data/lib/rspec/core/metadata_filter.rb +86 -0
  35. data/lib/rspec/core/minitest_assertions_adapter.rb +28 -0
  36. data/lib/rspec/core/mocking_adapters/flexmock.rb +1 -1
  37. data/lib/rspec/core/mocking_adapters/mocha.rb +1 -1
  38. data/lib/rspec/core/mocking_adapters/null.rb +1 -1
  39. data/lib/rspec/core/mocking_adapters/rr.rb +2 -1
  40. data/lib/rspec/core/mocking_adapters/rspec.rb +1 -1
  41. data/lib/rspec/core/notifications.rb +435 -24
  42. data/lib/rspec/core/option_parser.rb +16 -25
  43. data/lib/rspec/core/ordering.rb +3 -1
  44. data/lib/rspec/core/pending.rb +57 -33
  45. data/lib/rspec/core/project_initializer.rb +2 -0
  46. data/lib/rspec/core/project_initializer/spec_helper.rb +5 -4
  47. data/lib/rspec/core/rake_task.rb +45 -20
  48. data/lib/rspec/core/reporter.rb +50 -22
  49. data/lib/rspec/core/ruby_project.rb +1 -0
  50. data/lib/rspec/core/runner.rb +93 -39
  51. data/lib/rspec/core/shared_context.rb +7 -5
  52. data/lib/rspec/core/shared_example_group.rb +85 -77
  53. data/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  54. data/lib/rspec/core/version.rb +3 -1
  55. data/lib/rspec/core/warnings.rb +35 -17
  56. data/lib/rspec/core/world.rb +57 -5
  57. metadata +56 -369
  58. metadata.gz.sig +3 -3
  59. data/features/README.md +0 -13
  60. data/features/Upgrade.md +0 -352
  61. data/features/command_line/README.md +0 -25
  62. data/features/command_line/dry_run.feature +0 -29
  63. data/features/command_line/example_name_option.feature +0 -97
  64. data/features/command_line/exit_status.feature +0 -82
  65. data/features/command_line/fail_fast.feature +0 -26
  66. data/features/command_line/format_option.feature +0 -75
  67. data/features/command_line/init.feature +0 -57
  68. data/features/command_line/line_number_appended_to_path.feature +0 -140
  69. data/features/command_line/line_number_option.feature +0 -58
  70. data/features/command_line/order.feature +0 -25
  71. data/features/command_line/pattern_option.feature +0 -49
  72. data/features/command_line/rake_task.feature +0 -122
  73. data/features/command_line/randomization.feature +0 -63
  74. data/features/command_line/require_option.feature +0 -43
  75. data/features/command_line/ruby.feature +0 -23
  76. data/features/command_line/tag.feature +0 -98
  77. data/features/command_line/warnings_option.feature +0 -29
  78. data/features/configuration/alias_example_to.feature +0 -39
  79. data/features/configuration/backtrace_exclusion_patterns.feature +0 -105
  80. data/features/configuration/custom_settings.feature +0 -84
  81. data/features/configuration/default_path.feature +0 -38
  82. data/features/configuration/deprecation_stream.feature +0 -58
  83. data/features/configuration/enable_global_dsl.feature +0 -54
  84. data/features/configuration/fail_fast.feature +0 -77
  85. data/features/configuration/failure_exit_code.feature +0 -36
  86. data/features/configuration/order_and_seed.feature +0 -3
  87. data/features/configuration/output_stream.feature +0 -24
  88. data/features/configuration/overriding_global_ordering.feature +0 -93
  89. data/features/configuration/pattern.feature +0 -38
  90. data/features/configuration/profile.feature +0 -220
  91. data/features/configuration/read_options_from_file.feature +0 -90
  92. data/features/configuration/run_all_when_everything_filtered.feature +0 -76
  93. data/features/example_groups/aliasing.feature +0 -48
  94. data/features/example_groups/basic_structure.feature +0 -55
  95. data/features/example_groups/shared_context.feature +0 -74
  96. data/features/example_groups/shared_examples.feature +0 -286
  97. data/features/expectation_framework_integration/configure_expectation_framework.feature +0 -102
  98. data/features/filtering/exclusion_filters.feature +0 -135
  99. data/features/filtering/if_and_unless.feature +0 -138
  100. data/features/filtering/inclusion_filters.feature +0 -101
  101. data/features/formatters/configurable_colors.feature +0 -31
  102. data/features/formatters/custom_formatter.feature +0 -68
  103. data/features/formatters/json_formatter.feature +0 -30
  104. data/features/formatters/regression_tests.feature +0 -95
  105. data/features/formatters/text_formatter.feature +0 -46
  106. data/features/helper_methods/arbitrary_methods.feature +0 -40
  107. data/features/helper_methods/let.feature +0 -50
  108. data/features/helper_methods/modules.feature +0 -146
  109. data/features/hooks/around_hooks.feature +0 -344
  110. data/features/hooks/before_and_after_hooks.feature +0 -427
  111. data/features/hooks/filtering.feature +0 -232
  112. data/features/metadata/current_example.feature +0 -56
  113. data/features/metadata/described_class.feature +0 -17
  114. data/features/metadata/user_defined.feature +0 -100
  115. data/features/mock_framework_integration/use_any_framework.feature +0 -106
  116. data/features/mock_framework_integration/use_flexmock.feature +0 -94
  117. data/features/mock_framework_integration/use_mocha.feature +0 -95
  118. data/features/mock_framework_integration/use_rr.feature +0 -96
  119. data/features/mock_framework_integration/use_rspec.feature +0 -95
  120. data/features/pending_and_skipped_examples/README.md +0 -3
  121. data/features/pending_and_skipped_examples/pending_examples.feature +0 -118
  122. data/features/pending_and_skipped_examples/skipped_examples.feature +0 -106
  123. data/features/spec_files/arbitrary_file_suffix.feature +0 -13
  124. data/features/step_definitions/additional_cli_steps.rb +0 -83
  125. data/features/subject/explicit_subject.feature +0 -101
  126. data/features/subject/implicit_subject.feature +0 -63
  127. data/features/subject/one_liner_syntax.feature +0 -71
  128. data/features/support/env.rb +0 -21
  129. data/features/support/require_expect_syntax_in_aruba_specs.rb +0 -16
  130. data/features/support/rubinius.rb +0 -6
  131. data/lib/rspec/core/command_line.rb +0 -35
  132. data/lib/rspec/core/drb_command_line.rb +0 -26
  133. data/lib/rspec/core/drb_options.rb +0 -87
  134. data/lib/rspec/core/formatters/legacy_formatter.rb +0 -227
  135. data/lib/rspec/core/shared_example_group/collection.rb +0 -27
  136. data/spec/command_line/order_spec.rb +0 -211
  137. data/spec/rspec/core/backtrace_formatter_spec.rb +0 -230
  138. data/spec/rspec/core/command_line_spec.rb +0 -112
  139. data/spec/rspec/core/command_line_spec_output.txt +0 -0
  140. data/spec/rspec/core/configuration_options_spec.rb +0 -409
  141. data/spec/rspec/core/configuration_spec.rb +0 -1479
  142. data/spec/rspec/core/drb_command_line_spec.rb +0 -102
  143. data/spec/rspec/core/drb_options_spec.rb +0 -193
  144. data/spec/rspec/core/dsl_spec.rb +0 -88
  145. data/spec/rspec/core/example_group_spec.rb +0 -1533
  146. data/spec/rspec/core/example_spec.rb +0 -642
  147. data/spec/rspec/core/filter_manager_spec.rb +0 -229
  148. data/spec/rspec/core/formatters/base_formatter_spec.rb +0 -64
  149. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +0 -303
  150. data/spec/rspec/core/formatters/deprecation_formatter_spec.rb +0 -208
  151. data/spec/rspec/core/formatters/documentation_formatter_spec.rb +0 -75
  152. data/spec/rspec/core/formatters/helpers_spec.rb +0 -104
  153. data/spec/rspec/core/formatters/html_formatted-2.1.0.html +0 -392
  154. data/spec/rspec/core/formatters/html_formatted.html +0 -397
  155. data/spec/rspec/core/formatters/html_formatter_spec.rb +0 -122
  156. data/spec/rspec/core/formatters/json_formatter_spec.rb +0 -206
  157. data/spec/rspec/core/formatters/legacy_formatter_spec.rb +0 -137
  158. data/spec/rspec/core/formatters/progress_formatter_spec.rb +0 -43
  159. data/spec/rspec/core/formatters/snippet_extractor_spec.rb +0 -26
  160. data/spec/rspec/core/formatters_spec.rb +0 -120
  161. data/spec/rspec/core/hooks_filtering_spec.rb +0 -227
  162. data/spec/rspec/core/hooks_spec.rb +0 -294
  163. data/spec/rspec/core/memoized_helpers_spec.rb +0 -495
  164. data/spec/rspec/core/metadata_spec.rb +0 -491
  165. data/spec/rspec/core/option_parser_spec.rb +0 -262
  166. data/spec/rspec/core/ordering_spec.rb +0 -102
  167. data/spec/rspec/core/pending_example_spec.rb +0 -117
  168. data/spec/rspec/core/pending_spec.rb +0 -8
  169. data/spec/rspec/core/project_initializer_spec.rb +0 -73
  170. data/spec/rspec/core/rake_task_spec.rb +0 -146
  171. data/spec/rspec/core/random_spec.rb +0 -47
  172. data/spec/rspec/core/reporter_spec.rb +0 -155
  173. data/spec/rspec/core/resources/a_bar.rb +0 -0
  174. data/spec/rspec/core/resources/a_foo.rb +0 -0
  175. data/spec/rspec/core/resources/a_spec.rb +0 -1
  176. data/spec/rspec/core/resources/custom_example_group_runner.rb +0 -14
  177. data/spec/rspec/core/resources/formatter_specs.rb +0 -58
  178. data/spec/rspec/core/resources/utf8_encoded.rb +0 -8
  179. data/spec/rspec/core/rspec_matchers_spec.rb +0 -45
  180. data/spec/rspec/core/ruby_project_spec.rb +0 -26
  181. data/spec/rspec/core/runner_spec.rb +0 -151
  182. data/spec/rspec/core/shared_context_spec.rb +0 -102
  183. data/spec/rspec/core/shared_example_group/collection_spec.rb +0 -57
  184. data/spec/rspec/core/shared_example_group_spec.rb +0 -114
  185. data/spec/rspec/core/warnings_spec.rb +0 -29
  186. data/spec/rspec/core/world_spec.rb +0 -142
  187. data/spec/rspec/core_spec.rb +0 -91
  188. data/spec/spec_helper.rb +0 -160
  189. data/spec/support/config_options_helper.rb +0 -13
  190. data/spec/support/formatter_support.rb +0 -83
  191. data/spec/support/helper_methods.rb +0 -26
  192. data/spec/support/isolate_load_path_mutation.rb +0 -5
  193. data/spec/support/isolated_directory.rb +0 -10
  194. data/spec/support/isolated_home_directory.rb +0 -16
  195. data/spec/support/legacy_formatter_using_sub_classing_example.rb +0 -87
  196. data/spec/support/matchers.rb +0 -85
  197. data/spec/support/mathn_integration_support.rb +0 -12
  198. data/spec/support/old_style_formatter_example.rb +0 -69
  199. data/spec/support/shared_example_groups.rb +0 -13
  200. data/spec/support/spec_files.rb +0 -44
  201. data/spec/support/stderr_splitter.rb +0 -36
@@ -1,82 +0,0 @@
1
- Feature: exit status
2
-
3
- The rspec command exits with an exit status of 0 if all examples pass,
4
- and 1 if any examples fail. The failure exit code can be overridden
5
- using the --failure-exit-code option.
6
-
7
- Scenario: exit with 0 when all examples pass
8
- Given a file named "ok_spec.rb" with:
9
- """ruby
10
- describe "ok" do
11
- it "passes" do
12
- end
13
- end
14
- """
15
- When I run `rspec ok_spec.rb`
16
- Then the exit status should be 0
17
- And the examples should all pass
18
-
19
- Scenario: exit with 1 when one example fails
20
- Given a file named "ko_spec.rb" with:
21
- """ruby
22
- describe "KO" do
23
- it "fails" do
24
- raise "KO"
25
- end
26
- end
27
- """
28
- When I run `rspec ko_spec.rb`
29
- Then the exit status should be 1
30
- And the output should contain "1 example, 1 failure"
31
-
32
- Scenario: exit with 1 when a nested examples fails
33
- Given a file named "nested_ko_spec.rb" with:
34
- """ruby
35
- describe "KO" do
36
- describe "nested" do
37
- it "fails" do
38
- raise "KO"
39
- end
40
- end
41
- end
42
- """
43
- When I run `rspec nested_ko_spec.rb`
44
- Then the exit status should be 1
45
- And the output should contain "1 example, 1 failure"
46
-
47
- Scenario: exit with 0 when no examples are run
48
- Given a file named "a_no_examples_spec.rb" with:
49
- """ruby
50
- """
51
- When I run `rspec a_no_examples_spec.rb`
52
- Then the exit status should be 0
53
- And the output should contain "0 examples"
54
-
55
- Scenario: exit with 2 when one example fails and --failure-exit-code is 2
56
- Given a file named "ko_spec.rb" with:
57
- """ruby
58
- describe "KO" do
59
- it "fails" do
60
- raise "KO"
61
- end
62
- end
63
- """
64
- When I run `rspec --failure-exit-code 2 ko_spec.rb`
65
- Then the exit status should be 2
66
- And the output should contain "1 example, 1 failure"
67
-
68
- Scenario: exit with rspec's exit code when an at_exit hook is added upstream
69
- Given a file named "exit_at_spec.rb" with:
70
- """ruby
71
- require 'rspec/autorun'
72
- at_exit { exit(0) }
73
-
74
- RSpec.describe "exit 0 at_exit" do
75
- it "does not interfere with rspec's exit code" do
76
- fail
77
- end
78
- end
79
- """
80
- When I run `ruby exit_at_spec.rb`
81
- Then the exit status should be 1
82
- And the output should contain "1 example, 1 failure"
@@ -1,26 +0,0 @@
1
- Feature: --fail-fast
2
-
3
- Use the `--fail-fast` option to tell RSpec to stop running the test suite on the first failed test.
4
-
5
- You may also specify `--no-fail-fast` to turn it off (default behaviour).
6
-
7
- Background:
8
- Given a file named "fail_fast_spec.rb" with:
9
- """ruby
10
- describe "fail fast" do
11
- it "passing test" do; end
12
- it "failing test" do
13
- fail
14
- end
15
- it "this should not be run" do; end
16
- end
17
- """
18
-
19
- Scenario: Using --fail-fast
20
- When I run `rspec . --fail-fast`
21
- Then the output should contain ".F"
22
- Then the output should not contain ".F."
23
-
24
- Scenario: Using --no-fail-fast
25
- When I run `rspec . --no-fail-fast`
26
- Then the output should contain ".F."
@@ -1,75 +0,0 @@
1
- Feature: --format option
2
-
3
- Use the --format option to tell RSpec how to format the output.
4
-
5
- RSpec ships with several formatters built in. By default, it uses the progress
6
- formatter, which generates output like this:
7
-
8
- ....F.....*.....
9
-
10
- A '.' represents a passing example, 'F' is failing, and '*' is pending.
11
-
12
- Use the documentation formatter to see the documentation strings passed to
13
- `describe`, `it`, and their aliases:
14
-
15
- $ rspec spec --format documentation
16
-
17
- You can also specify an output target ($stdout by default) with an --out
18
- option immediately following the --format option:
19
-
20
- $ rspec spec --format documentation --out rspec.txt
21
-
22
- Run `rspec --help` to see a listing of available formatters.
23
-
24
- Background:
25
- Given a file named "example_spec.rb" with:
26
- """ruby
27
- describe "something" do
28
- it "does something that passes" do
29
- expect(5).to eq(5)
30
- end
31
-
32
- it "does something that fails" do
33
- expect(5).to eq(4)
34
- end
35
-
36
- it "does something that is pending", :pending => true do
37
- expect(5).to be < 3
38
- end
39
- end
40
- """
41
-
42
- Scenario: progress bar format (default)
43
- When I run `rspec --format progress example_spec.rb`
44
- Then the output should contain ".F*"
45
-
46
- Scenario: documentation format
47
- When I run `rspec example_spec.rb --format documentation`
48
- Then the output should contain:
49
- """
50
- something
51
- does something that passes
52
- does something that fails (FAILED - 1)
53
- does something that is pending (PENDING: No reason given)
54
- """
55
-
56
- Scenario: documentation format saved to a file
57
- When I run `rspec example_spec.rb --format documentation --out rspec.txt`
58
- Then the file "rspec.txt" should contain:
59
- """
60
- something
61
- does something that passes
62
- does something that fails (FAILED - 1)
63
- does something that is pending (PENDING: No reason given)
64
- """
65
-
66
- Scenario: multiple formats and output targets
67
- When I run `rspec example_spec.rb --format progress --format documentation --out rspec.txt`
68
- Then the output should contain ".F*"
69
- And the file "rspec.txt" should contain:
70
- """
71
- something
72
- does something that passes
73
- does something that fails (FAILED - 1)
74
- does something that is pending (PENDING: No reason given)
75
- """
@@ -1,57 +0,0 @@
1
- Feature: --init option
2
-
3
- Use the --init option on the command line to generate conventional
4
- files for an rspec project. It generates a `.rspec` and
5
- `spec/spec_helper.rb` with some example settings to get you started.
6
-
7
- Scenario: generate .rspec
8
- When I run `rspec --init`
9
- Then the following files should exist:
10
- | .rspec |
11
- And the output should contain "create .rspec"
12
-
13
- Scenario: .rspec file already exists
14
- Given a file named ".rspec" with:
15
- """
16
- --color
17
- """
18
- When I run `rspec --init`
19
- Then the output should contain "exist .rspec"
20
-
21
- Scenario: Accept and use the recommended settings in spec_helper (which are initially commented out).
22
- Given I have a brand new project with no files
23
- And I have run `rspec --init`
24
- When I accept the recommended settings by removing `=begin` and `=end` from `spec/spec_helper.rb`
25
- And I create "spec/addition_spec.rb" with the following content:
26
- """ruby
27
- RSpec.describe "Addition" do
28
- it "works" do
29
- expect(1 + 1).to eq(2)
30
- end
31
- end
32
- """
33
- And I create "spec/subtraction_spec.rb" with the following content:
34
- """ruby
35
- RSpec.describe "Subtraction" do
36
- it "works" do
37
- expect(1 - 1).to eq(0)
38
- end
39
- end
40
- """
41
-
42
- When I run `rspec`
43
- Then the examples should all pass
44
- And the output should not contain:
45
- """
46
- Addition
47
- works
48
- """
49
-
50
- When I run `rspec spec/addition_spec.rb`
51
- Then the examples should all pass
52
- And the output should contain:
53
- """
54
- Addition
55
- works
56
- """
57
-
@@ -1,140 +0,0 @@
1
- Feature: line number appended to file path
2
-
3
- To run one or more examples or groups, you can append the line number to the path, e.g.
4
-
5
- rspec path/to/example_spec.rb:37
6
-
7
- Background:
8
- Given a file named "example_spec.rb" with:
9
- """ruby
10
- describe "outer group" do
11
-
12
- it "first example in outer group" do
13
-
14
- end
15
-
16
- it "second example in outer group" do
17
-
18
- end
19
-
20
- describe "nested group" do
21
-
22
- it "example in nested group" do
23
-
24
- end
25
-
26
- end
27
-
28
- end
29
- """
30
- And a file named "example2_spec.rb" with:
31
- """ruby
32
- describe "yet another group" do
33
- it "first example in second file" do
34
- end
35
- it "second example in second file" do
36
- end
37
- end
38
- """
39
-
40
- Scenario: nested groups - outer group on declaration line
41
- When I run `rspec example_spec.rb:1 --format doc`
42
- Then the examples should all pass
43
- And the output should contain "second example in outer group"
44
- And the output should contain "first example in outer group"
45
- And the output should contain "example in nested group"
46
-
47
- Scenario: nested groups - outer group inside block before example
48
- When I run `rspec example_spec.rb:2 --format doc`
49
- Then the examples should all pass
50
- And the output should contain "second example in outer group"
51
- And the output should contain "first example in outer group"
52
- And the output should contain "example in nested group"
53
-
54
- Scenario: nested groups - inner group on declaration line
55
- When I run `rspec example_spec.rb:11 --format doc`
56
- Then the examples should all pass
57
- And the output should contain "example in nested group"
58
- And the output should not contain "second example in outer group"
59
- And the output should not contain "first example in outer group"
60
-
61
- Scenario: nested groups - inner group inside block before example
62
- When I run `rspec example_spec.rb:12 --format doc`
63
- Then the examples should all pass
64
- And the output should contain "example in nested group"
65
- And the output should not contain "second example in outer group"
66
- And the output should not contain "first example in outer group"
67
-
68
- Scenario: two examples - first example on declaration line
69
- When I run `rspec example_spec.rb:3 --format doc`
70
- Then the examples should all pass
71
- And the output should contain "first example in outer group"
72
- But the output should not contain "second example in outer group"
73
- And the output should not contain "example in nested group"
74
-
75
- Scenario: two examples - first example inside block
76
- When I run `rspec example_spec.rb:4 --format doc`
77
- Then the examples should all pass
78
- And the output should contain "first example in outer group"
79
- But the output should not contain "second example in outer group"
80
- And the output should not contain "example in nested group"
81
-
82
- Scenario: two examples - first example on end
83
- When I run `rspec example_spec.rb:5 --format doc`
84
- Then the examples should all pass
85
- And the output should contain "first example in outer group"
86
- But the output should not contain "second example in outer group"
87
- And the output should not contain "example in nested group"
88
-
89
- Scenario: two examples - first example after end but before next example
90
- When I run `rspec example_spec.rb:6 --format doc`
91
- Then the examples should all pass
92
- And the output should contain "first example in outer group"
93
- But the output should not contain "second example in outer group"
94
- And the output should not contain "example in nested group"
95
-
96
- Scenario: two examples - second example on declaration line
97
- When I run `rspec example_spec.rb:7 --format doc`
98
- Then the examples should all pass
99
- And the output should contain "second example in outer group"
100
- But the output should not contain "first example in outer group"
101
- And the output should not contain "example in nested group"
102
-
103
- Scenario: two examples - second example inside block
104
- When I run `rspec example_spec.rb:7 --format doc`
105
- Then the examples should all pass
106
- And the output should contain "second example in outer group"
107
- But the output should not contain "first example in outer group"
108
- And the output should not contain "example in nested group"
109
-
110
- Scenario: two examples - second example on end
111
- When I run `rspec example_spec.rb:7 --format doc`
112
- Then the examples should all pass
113
- And the output should contain "second example in outer group"
114
- But the output should not contain "first example in outer group"
115
- And the output should not contain "example in nested group"
116
-
117
- Scenario: specified multiple times for different files
118
- When I run `rspec example_spec.rb:7 example2_spec.rb:4 --format doc`
119
- Then the examples should all pass
120
- And the output should contain "second example in outer group"
121
- And the output should contain "second example in second file"
122
- But the output should not contain "first example in outer group"
123
- And the output should not contain "nested group"
124
- And the output should not contain "first example in second file"
125
-
126
- Scenario: specified multiple times for the same file with multiple arguments
127
- When I run `rspec example_spec.rb:7 example_spec.rb:11 --format doc`
128
- Then the examples should all pass
129
- And the output should contain "second example in outer group"
130
- And the output should contain "nested group"
131
- But the output should not contain "first example in outer group"
132
- And the output should not contain "second file"
133
-
134
- Scenario: specified multiple times for the same file with a single argument
135
- When I run `rspec example_spec.rb:7:11 --format doc`
136
- Then the examples should all pass
137
- And the output should contain "second example in outer group"
138
- And the output should contain "nested group"
139
- But the output should not contain "first example in outer group"
140
- And the output should not contain "second file"
@@ -1,58 +0,0 @@
1
- Feature: --line_number option
2
-
3
- To run a examples or groups by line numbers, one can use the --line_number option:
4
-
5
- rspec path/to/example_spec.rb --line_number 37
6
-
7
- This option can be specified multiple times.
8
-
9
- Scenario: standard examples
10
- Given a file named "example_spec.rb" with:
11
- """ruby
12
- require "rspec/expectations"
13
-
14
- describe 9 do
15
-
16
- it "should be > 8" do
17
- expect(9).to be > 8
18
- end
19
-
20
- it "should be < 10" do
21
- expect(9).to be < 10
22
- end
23
-
24
- it "should be 3 squared" do
25
- expect(9).to be 3*3
26
- end
27
-
28
- end
29
- """
30
- When I run `rspec example_spec.rb --line_number 5 --format doc`
31
- Then the examples should all pass
32
- And the output should contain "should be > 8"
33
- But the output should not contain "should be < 10"
34
- And the output should not contain "should be 3*3"
35
-
36
- When I run `rspec example_spec.rb --line_number 5 --line_number 9 --format doc`
37
- Then the examples should all pass
38
- And the output should contain "should be > 8"
39
- And the output should contain "should be < 10"
40
- But the output should not contain "should be 3*3"
41
-
42
- Scenario: one liner
43
- Given a file named "example_spec.rb" with:
44
- """ruby
45
- require "rspec/expectations"
46
-
47
- describe 9 do
48
-
49
- it { is_expected.to be > 8 }
50
-
51
- it { is_expected.not_to be < 10 }
52
-
53
- end
54
- """
55
- When I run `rspec example_spec.rb --line_number 5 --format doc`
56
- Then the examples should all pass
57
- Then the output should contain "should be > 8"
58
- But the output should not contain "should be < 10"
@@ -1,25 +0,0 @@
1
- Feature: --order (new in rspec-core-2.8)
2
-
3
- Use the `--order` option to tell RSpec how to order the files, groups, and
4
- examples. Options are `defined` and `rand`.
5
-
6
- `defined` is the default, which executes groups and examples in the
7
- order they are defined as the spec files are loaded.
8
-
9
- Use `rand` to randomize the order of groups and examples within groups.*
10
-
11
- * Nested groups are always run from top-level to bottom-level in order to avoid
12
- executing `before(:all)` and `after(:all)` hooks more than once, but the order
13
- of groups at each level is randomized.
14
-
15
- You can also specify a seed:
16
-
17
- <h3>Examples</h3>
18
-
19
- --order defined
20
- --order rand
21
- --order rand:123
22
- --seed 123 # same as --order rand:123
23
-
24
- The `defined` option is only necessary when you have `--order rand` stored in a
25
- config file (e.g. `.rspec`) and you want to override it from the command line.