使用send调用辅助类中的方法

时间:2013-05-07 13:07:48

标签: ruby rspec ruby-on-rails-3.2

我不确定为什么下面的代码以这种方式完成,有人可以看一看,看看发生了什么? 例如,为什么在下面的发送方法中我们没有发送符号?为什么我们不以某种方式直接调用它?

describe Something do
  shared_examples 'for something' do
    context 'return 200 HTTP code' do
      it 'return the correct thing' do
        val = SomethingHelper.send(create_json)
      end  
    end
  end

  describe 'fddffsf' do
  it_behaves_like 'for something' do
    let(:create_json) {'create_json_hash'}
  end
end

在SomethingHelper中,我们有一个名为create_population_management_hash

的方法

1 个答案:

答案 0 :(得分:1)

“共享示例”适用于共享类似环境的多个测试。它可以帮助您避免重复。

例如,你有'fddffsf'来测试,你可能有更多类似的测试,只有'create_json'的区别。

create_json不使用符号的原因是,它使用let定义的变量

let中定义变量时,使用符号。当你提到它时,你需要在没有符号的情况下使用它。