Ruby 使用send调用助手类中的方法
我不知道为什么下面的代码是这样做的,有人可以看看,看看是怎么回事吗例如,为什么在下面的send方法中我们不发送符号?或为什么我们不直接调用它?Ruby 使用send调用助手类中的方法,ruby,rspec,ruby-on-rails-3.2,Ruby,Rspec,Ruby On Rails 3.2,我不知道为什么下面的代码是这样做的,有人可以看看,看看是怎么回事吗例如,为什么在下面的send方法中我们不发送符号?或为什么我们不直接调用它? describe Something do shared_examples 'for something' do context 'return 200 HTTP code' do it 'return the correct thing' do val = SomethingHelper.send(create_
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\u population\u management\u hash
的方法,“共享示例”用于共享相似环境的多个测试。它可以帮助您避免重复
例如,您有“fddffsf”要测试,您可能有更多类似的测试,唯一的区别是“create_json”
create\u json
不使用符号的原因是,它使用了let
在let
中定义变量时,使用符号。当你引用它时,你需要不带符号地使用它。这个“共享示例”用于共享相似环境的多个测试。它可以帮助您避免重复
例如,您有“fddffsf”要测试,您可能有更多类似的测试,唯一的区别是“create_json”
create\u json
不使用符号的原因是,它使用了let
在
let
中定义变量时,使用符号。当你引用它时,你需要不带符号地使用它。它没有一个必须是let
。这也可能是一种方法。这就是赤裸裸地使用单词的美妙之处。它不需要成为let
。这也可能是一种方法。这就是光说一句话的妙处。