0

ループのためにスピンし、メソッドget_lengthを呼び出すメソッドgenerate_from_databaseを備えたモジュールDatabaseがあります。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

これ:

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 に答える
0

次のようなことができます。

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

詳細: http://rspec.info/documentation/mocks/message_expectations.html

于 2010-12-01T13:50:17.950 に答える