Size: a a a

Генератор непрочитанных сообщений

2020 February 25

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
А что, никто никогда с подобными вещами в тестах не сталкивался?
источник

P

Panda🤔 in Генератор непрочитанных сообщений
-
источник

АМ

Александр Морозов in Генератор непрочитанных сообщений
тут с тестами бы столкнуться нормальными)  везде экономия на этом чаще всего
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Александр Морозов
тут с тестами бы столкнуться нормальными)  везде экономия на этом чаще всего
Окей, ну вот тебе приходится решать эту задачу, и эта задача каким то образом завязана на временные рамки.
Ты вообще как её тестируешь перед тем как лить в мастер?
Тут ведь просто так прокликать не получится, если используется внутри \new DateTime()
источник

АМ

Александр Морозов in Генератор непрочитанных сообщений
Aleksandr Khristenko
Окей, ну вот тебе приходится решать эту задачу, и эта задача каким то образом завязана на временные рамки.
Ты вообще как её тестируешь перед тем как лить в мастер?
Тут ведь просто так прокликать не получится, если используется внутри \new DateTime()
обычно руками прокликивается, если нет тестов. Чаще всего new \DateTime() нужеен, чтоб записать какое-нибудь время изменения объекта. Создаешь объект или изменяешь, лезешь в базу проверять корректность даты, либо по интерфейсу где-то смотришь
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Александр Морозов
обычно руками прокликивается, если нет тестов. Чаще всего new \DateTime() нужеен, чтоб записать какое-нибудь время изменения объекта. Создаешь объект или изменяешь, лезешь в базу проверять корректность даты, либо по интерфейсу где-то смотришь
Если руками прокликивать то приходится еще в базу лезть и время  поправлять на то, которое должно быть.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Используете ли вы new \DateTime() в коде?
carbon использую
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
carbon использую
Он имеет какую-то возможность сделать так, чтобы Carbon::new() возвращал нужную дату, а не текущую?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Carbon::createFromFormat
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
или ты про моки?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Я про случай, когда у нас код использует Carbon::new().
И нам нужно чтобы этот код выполнился, как будто 2 недели назад.
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Или же наоборот - вперед.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
у него есть метод setTestNow(), в который указываешь дату которая будет получена в Carbon::now()
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Хм, неплохо.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ага, я причем об этом не знал %) только что загуглил
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
но как-то не приходилось пока такое подсовывать
источник

VT

Viktor TElless in Генератор непрочитанных сообщений
Alexander Kladov
у него есть метод setTestNow(), в который указываешь дату которая будет получена в Carbon::now()
о, т.е. можно где-то в ебенях в проекте это сделать и везде глобально по проекту Carbon::now() будет отдавать чушь?
крутяк
источник

VT

Viktor TElless in Генератор непрочитанных сообщений
уже нравится эта либа
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
ага, я причем об этом не знал %) только что загуглил
Никогда не приходилось тестировать поведение, которое завязано на времени?
Типа накликать записей и потом посмотреть как будет выглядеть результат через 2 недели?
источник

VT

Viktor TElless in Генератор непрочитанных сообщений
Aleksandr Khristenko
Никогда не приходилось тестировать поведение, которое завязано на времени?
Типа накликать записей и потом посмотреть как будет выглядеть результат через 2 недели?
DateTimeInterface в сигнатурах и передавай моки в тестах.
new вообще зло, не только для времени.
источник