所以,我在我的Ruby代碼的模塊,看起來是這樣的:測試一類模塊內使用RSpec
module MathStuff
class Integer
def least_factor
# implementation code
end
end
end
和我有一些RSpec的測試中,我想測試我的Integer#least_factor
方法按預期工作。爲了簡單起見,我們會說測試在同一個文件中。這些測試是這個樣子:
describe MathStuff do
describe '#least_factor' do
it 'returns the least prime factor' do
expect(50.least_factor).to eq 2
end
end
end
不幸的是,當我運行測試,我得到這樣一個錯誤:
NoMethodError:
undefined method `least_factor' for 50:Fixnum
請讓我知道,如果你知道如何包括MathStuff::Integer
類測試。
注意:爲了澄清,我實際上試圖在這裏打開Ruby Integer類並向其添加方法。
所以,如果我'MathStuff :: Integer.new(50).least_factor'我得到一個參數錯誤,說'#新'採用零參數。我應該如何將值設置爲50? –