Я делаю конкурсный проект по математике с использованием Laravel. Все методы контроллера в проекте используют много функций time ().
Вопросы возвращаются пользователю в зависимости от того, находится ли текущее время между временем проведения конкурса.
Во время написания функциональных и модульных тестов, как мне подражать функциям времени () в контроллере, чтобы установить желаемое время при выполнении тестов для проекта?
Я думаю, что углерод должен быть использован вместо time()
:
Carbon::now()->timestamp // Or just now()->timestamp in 5.5+
Вы можете легко издеваться над экземплярами Carbon.
Если вы не используете time()
много, вы могли бы также создать свой собственный помощник:
function timestamp()
{
if (app()->runningUnitTests()) {
return ....
} else {
return time();
}
}
И использовать его вместо time()
:
timestamp()
Других решений пока нет …