メインコンテンツまでスキップ

任意のヘルパーメソッドの定義

Rubyのdefキーワードやdefine_methodメソッドを使用して、任意の例グループでメソッドを定義することができます。これらのヘルパーメソッドは、定義されたグループ内の例やそのグループにネストされたグループに公開されますが、親グループや兄弟グループには公開されません。

同じグループで定義されたメソッドの使用

"example_spec.rb"という名前のファイルがあるとき、以下のように記述します:

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

rspec example_spec.rbを実行すると、

すべての例がパスするはずです。

親グループで定義されたメソッドの使用

"example_spec.rb"という名前のファイルがあるとき、以下のように記述します:

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

rspec example_spec.rbを実行すると、

すべての例がパスするはずです。