Я не уверен, что вы, ребята, будете так тестировать, но я парень из TDD и продолжаю сталкиваться со странными вещами. Временные метки как-то конвертируются диджеем или часовым поясом ... Я не знаю. Тестовый пример следует
Я использую delayed_job 2.0.3
data = {:value => 0.856, :timestamp => Time.zone.now}
job = MyMailer.send_later :send_values, data, emails
MyMailer.expects(:send_values).with(data, emails).once
job.payload_object.perform
class MyMailer
def self.send_values(data, emails)
end
end
ОК, ошибка ожидания теста
unexpected invocation: MyMailer.send_values({:value => 0.856576407208833, :timestamp => Thu Nov 11 22:01:00 UTC 2010 (1289512860.94962 secs)}, ..
unsatisfied expectations:
- expected exactly once, not yet invoked: MyMailer.send_values({:value => 0.856576407208833, :timestamp => Thu, 11 Nov 2010 23:01:00 CET +01:00}...
с датой и временем это похоже, DateTime.now
вместо Time.zone.now
got :timestamp => Thu Nov 11 23:13:33 +0100 2010 (1289513613.0 secs)
expected :timestamp => 2010-11-11T23:13:33+01:00
Что происходит? Как я могу контролировать это (я хочу)?