0

我有带有方法 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
4

2 回答 2

0

你可以这样:

Length.should_receive(:get_length).exactly(n).times

更多信息:http ://rspec.info/documentation/mocks/message_expectations.html

于 2010-12-01T13:50:17.950 回答
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

应该管用。

于 2010-12-01T17:25:41.283 回答