Customized message
RSpec tries to provide useful failure messages, but for cases in which you want more specific information, you can define your own message right in the example.This works for any matcher other than the operator matchers.
Customize failure message
Given a file named "example_spec.rb" with:
RSpec.describe Array do
context "when created with `new`" do
it "is empty" do
array = Array.new
array << 1 # trigger a failure to demonstrate the message
expect(array).to be_empty, "expected empty array, got #{array.inspect}"
end
end
end
When I run rspec example_spec.rb --format documentation
Then the output should contain "expected empty array, got [1]".
Customize failure message with a proc
Given a file named "example_spec.rb" with:
RSpec.describe Array do
context "when created with `new`" do
it "is empty" do
array = Array.new
array << 1 # trigger a failure to demonstrate the message
expect(array).to be_empty, lambda { "expected empty array, got #{array.inspect}" }
end
end
end
When I run rspec example_spec.rb --format documentation
Then the output should contain "expected empty array, got [1]".