Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby-如何使用';由另一个方法填充的';他的头发被剪短了_Ruby_Rspec_Stub - Fatal编程技术网

ruby-如何使用';由另一个方法填充的';他的头发被剪短了

ruby-如何使用';由另一个方法填充的';他的头发被剪短了,ruby,rspec,stub,Ruby,Rspec,Stub,我有一些测试,其中我用 dictionary.stub(:words).and_return (%w{cat,dog,fish,plane,rock,dig,dug,cut,cuts,put,puts,putting,ruby,use,GO,IT}) 这样,我就不必使用字典。加载系统

我有一些测试,其中我用

dictionary.stub(:words).and_return
(%w{cat,dog,fish,plane,rock,dig,dug,cut,cuts,put,puts,putting,ruby,use,GO,IT})
这样,我就不必使用
字典。加载系统
方法来填充
@words
,我只需将
words
方法剔除即可

现在,我想测试另一个名为
的方法,它包含\u word(word)


但是问题是
@words
通常由
字典.load\u system\u Dictionary
方法填充,但我不想使用它,因为它有90k条记录,但没有
文件.open(words\u文件)。每个{words |@words如果
包含
字典
方法,您可以这样做

关于
实例变量集

def contains_word(word)
  @words.map(&:upcase).join.include?(word.upcase)
end
dictionary.load_system_dictionary 
dictionary.stub(:words).and_return
(%w{cat,dog,fish,plane,rock,dig,dug,cut,cuts,put,puts,puttingzaq1,ruby,use,GO,IT})
Failure/Error: expect(dictionary.contains_word('IT')).to be true

expected #<TrueClass:2> => true
got #<FalseClass:0> => false
let(:dictionary) {Dictionary.new}
dictionary.instance_variable_set(:@words, your_words_array)