我有模块数据库,其方法为generate_from_database,它为循环旋转并调用方法get_length。如何通过使用rspec或mocha来测试是否调用了get_length n次?
module Database
class Length < ActiveRecord::Base
def get_length(i,j)
...
end
end
def Database.generate_from_database
...
for i in 0...size
for j in 0...size
Length.new.get_length(i+1,j+1))
end
end
答案 0 :(得分:0)
你可以这样:
Length.should_receive(:get_length).exactly(n).times
更多信息:http://rspec.info/documentation/mocks/message_expectations.html
答案 1 :(得分:0)
此:
mock_length = mock("length")
Length.should_receive(:new).exactly(n).times.and_return(mock_length)
mock_length.should_receive(:get_length).exactly(n).times
应该有用。