У меня есть набор тестов, структурированный следующим образом:
describe ... do
[list of dates].each do
describe
before(:all) do
base_date = ...
end
describe ... do
[list of times].each do
describe ... do
before(:all) do
base_time = base_date + ...
DateTime.stub!(:now).and_return(base_time)
end
describe ... do
<test using records within date-time range based on base_time>
end
describe ... do
<another test using records within date-time range based on base_time>
end
end
end
end
end
end
end
Первый тест имеет DateTime (сейчас) == base_time, но второй тест как DateTime (сейчас) == дата-время моего компьютера,показывая, что заглушка больше не действует.Перемещение вызова stub!
в каждый цикл describe
решает проблему, но я хотел бы понять, почему он не работает так, как написано.