Учитывая типичную модель ActiveRecord, у меня часто есть обратные вызовы before_save
, которые анализируют ввод, например, беря что-то вроде time_string
от пользователя и анализируя его в поле time
.
Эта установка может выглядеть так:
before_save :parse_time
attr_writer :time_string
private
def parse_time
time = Chronic.parse(time_string) if time_string
end
Я понимаю, что рекомендуется делать методы обратного вызова закрытыми. Однако, если они частные, вы не можете вызвать их по отдельности, чтобы протестировать их изолированно.
Итак, для вас, опытных тестировщиков Rails, как вы справляетесь с тестированием такого рода вещей?
time
? это атрибут вашего объекта? - person Leo Correa   schedule 20.12.2012