rspec如何重用示例组中的代码

时间:2016-11-04 15:14:45

标签: rspec

我想做的是:

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在示例组(例如describecontext块)上不可用。它仅在单个示例(例如it块)中或从示例范围内运行的构造(例如beforelet等)中提供。

如何在嵌套示例组中使用方法? 如何在嵌套示例组中使变量可用?

2 个答案:

答案 0 :(得分:0)

当我在rspec中需要帮助方法时,我创建了一个单独的模块。我将模块保存为/spec/support/helper_method.rb,然后在“RSpec.configure do | config |”中的spec_helper或rails_helper.rb中保存。块,我添加了“config.include HelperMethod”。

These docs进一步解释此配置。

答案 1 :(得分:0)