Skip to main content

Defining arbitrary helper methods

You can define methods in any example group using Ruby's def keyword or define_method method. These helper methods are exposed to examples in the group in which they are defined and groups nested within that group, but not parent or sibling groups.

Use a method defined in the same group

Given a file named "example_spec.rb" with:

RSpec.describe "an example" do
def help
:available
end

it "has access to methods defined in its group" do
expect(help).to be(:available)
end
end

When I run rspec example_spec.rb

Then the examples should all pass.

Use a method defined in a parent group

Given a file named "example_spec.rb" with:

RSpec.describe "an example" do
def help
:available
end

describe "in a nested group" do
it "has access to methods defined in its parent group" do
expect(help).to be(:available)
end
end
end

When I run rspec example_spec.rb

Then the examples should all pass.