Logo: Relish

  1. Sign up
  2. Sign in

Project: RSpec Core 3.6

current example

You can reference the example object, and access its metadata, using the block
argument provided to: it, subject, let, and the before, after, and
around hooks.

Scenarios
Access the `example` object from within an example
Given
a file named "spec/example_spec.rb" with:
RSpec.describe "example as block arg to it, before, and after" do
  before do |example|
    expect(example.description).to eq("is the example object")
  end

  after do |example|
    expect(example.description).to eq("is the example object")
  end

  it "is the example object" do |example|
    expect(example.description).to eq("is the example object")
  end
end

RSpec.describe "example as block arg to let" do
  let(:the_description) do |example|
    example.description
  end

  it "is the example object" do |example|
    expect(the_description).to eq("is the example object")
  end
end

RSpec.describe "example as block arg to subject" do
  subject do |example|
    example.description
  end

  it "is the example object" do |example|
    expect(subject).to eq("is the example object")
  end
end

RSpec.describe "example as block arg to subject with a name" do
  subject(:the_subject) do |example|
    example.description
  end

  it "is the example object" do |example|
    expect(the_subject).to eq("is the example object")
    expect(subject).to eq("is the example object")
  end
end
When
I run rspec spec/example_spec.rb
Then
the example should pass

Last published 7 months ago by myronmarston.