【发布时间】:2014-09-22 15:47:05
【问题描述】:
我正在尝试测试此方法,该方法只能将整数作为参数,但我无法使其工作;很遗憾。 谢谢你的时间。 我不明白这个错误日志:
1) DownloadingData interval_data 以2个整数作为参数设置时间间隔 失败/错误:bag.should_receive(:interval_data).with(2, kind_of(Numeric), kind_of?(Numeric), 2) (#).interval_data(2, #, false, 2) 预期:1 次带参数:(2, #, false, 2) 收到:0 次,参数:(2, #, false, 2)
我的代码:
class DownloadingData
attr_accessor :today
def initialize
@today = Date.today
end
def interval_data(point_a, point_b)
start_point = @today - point_a
end_point = @today + point_b
(start_point..end_point).each do |week_day|
puts week_day #checking the week day
end
end
end
我的测试:
describe DownloadingData do
let(:bag) { DownloadingData.new }
describe 'interval_data' do
it 'responds to interval_data' do
expect(bag).to respond_to(:interval_data)
end
it 'takes 2 integers as parameters to set up the time-interval' do
bag.should_receive(:interval_data).with(2, kind_of(Numeric), kind_of?(Numeric), 2)
end
end
【问题讨论】:
-
你可能不想在这里使用 should_receive。而是调用该方法并指定返回值应该是什么(或应该发生什么副作用)