File: raising_an_error.feature

package info (click to toggle)
ruby-rspec 3.9.0c2e2m1s3-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,612 kB
  • sloc: ruby: 67,456; sh: 1,572; makefile: 98
file content (29 lines) | stat: -rw-r--r-- 883 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Feature: Raising an error

  Use `and_raise` to make the test double raise an error when it receives the message. Any of the following forms are supported:

    * `and_raise(ExceptionClass)`
    * `and_raise("message")`
    * `and_raise(ExceptionClass, "message")`
    * `and_raise(instance_of_an_exception_class)`

  Scenario: Raising an error
    Given a file named "raises_an_error_spec.rb" with:
      """ruby
      RSpec.describe "Making it raise an error" do
        it "raises the provided exception" do
          dbl = double
          allow(dbl).to receive(:foo).and_raise("boom")
          dbl.foo
        end
      end
      """
     When I run `rspec raises_an_error_spec.rb`
     Then it should fail with:
      """
        1) Making it raise an error raises the provided exception
           Failure/Error: dbl.foo

           RuntimeError:
             boom
      """