任意のヘルパーメソッドの定義
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
を実行すると、
すべての例がパスするはずです。