Тестовый метод, который был вызван из другого метода - PullRequest
0 голосов
/ 01 декабря 2010

У меня есть модуль База данных с методом generate_from_database, который вращается для циклов и вызывает метод get_length.Как я могу проверить, был ли get_length вызван n раз, используя rspec или mocha?

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

Ответы [ 2 ]

0 голосов
/ 01 декабря 2010

Это:

mock_length = mock("length")
Length.should_receive(:new).exactly(n).times.and_return(mock_length)
mock_length.should_receive(:get_length).exactly(n).times

должно работать.

0 голосов
/ 01 декабря 2010

Вы могли бы что-то вроде:

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

Подробнее: http://rspec.info/documentation/mocks/message_expectations.html

...