我想做的是:
describe Specs::Specs do
shared_context 'common' do
def get_property(type)
subject.send(type)
end
end
describe 'attributes not needing conversion' do
include_context 'common'
# USE THE CODE HERE
get_property(:weight)
end
end
我想干掉设置示例,但我一直遇到错误:
get_property
在示例组(例如describe
或context
块)上不可用。它仅在单个示例(例如it
块)中或从示例范围内运行的构造(例如before
,let
等)中提供。
如何在嵌套示例组中使用方法? 如何在嵌套示例组中使变量可用?
答案 0 :(得分:0)
当我在rspec中需要帮助方法时,我创建了一个单独的模块。我将模块保存为/spec/support/helper_method.rb,然后在“RSpec.configure do | config |”中的spec_helper或rails_helper.rb中保存。块,我添加了“config.include HelperMethod”。
These docs进一步解释此配置。
答案 1 :(得分:0)
我认为您可以通过'include_shared => true'
,如示例所示:https://relishapp.com/rspec/rspec-core/docs/example-groups/shared-context#declare-a-shared-context-and-include-it-with-metadata