В прошлом я использовал много раз в Beat, и сегодня у меня есть только Beat и Selen, работающие без хрома, чтобы использовать функции принятия BDD для пользовательской разработки в Magento 2. Предыдущие методы были либо индивидуальны для используемой средыили использовали Carbon и код выглядит как ...
//Carbon
Carbon::setTestNow(Carbon::create(2001, 5, 21, 12));
//Silverstripe Framework
SS_Datetime::set_mock_now('2003-11-01 12:12:12')
... и после этого все приложение будет использовать это в качестве текущей даты / времени, включая такие вещи, какORM, где он обновляет «созданные» времена в записях базы данных.Сейчас я ищу то же самое в Magento CE 2.2.7 и пока не нашел того, что ищу.Существует страница документа разработчика , которая намекает на это утверждение ...
Всякий раз, когда ваш код требует доступа к какой-либо части среды, попробуйте использовать класс соавтора, который может легковместо этого следует заменить двойным тестом (также называемым макетом).Например, если вам ... ... нужно текущее время?Вставьте экземпляр \ DateTimeInterface (например, \ DateTimeImmutable ) и используйте его.
... однако он, похоже, не содержит больше информации и после поиска кода дляЯ все еще в замешательстве, если есть простой способ убедиться, что глобальная системная дата-время подделывается или подделывается таким образом, чтобы я мог ...
- Сделать заказ в день 1
- Движение вперед на день и обработка заказа в день 2
- Движение на неделю вперед, и клиент отмечает заказ на возврат в день 9
- и т. Д.
Может кто-нибудь помочь мне с этим?