Мой тест включает в себя этап, на котором дата устанавливается на основе текущей даты (с использованием dayjs()
). Мне нужно всегда получать одну и ту же заранее определенную дату.
dayjs () вызывает new Date()
, поэтому мой подход заключался в том, чтобы высмеивать глобальный конструктор Date()
. Я пробовал это так:
await t.eval( () => {
const fixedDate = new Date(2010, 0, 1);
Date = class extends Date {
constructor() {
super();
return fixedDate;
}
};
});
Таким образом, testcafe не может дойти до eval
(хотя работает в моем Chrome). Пока мне удалось переписать только Date.now()
напрямую, но не конструктор.
Интересно, является ли подход к изменению Date
с помощью eval
верным подходом или есть какое-нибудь лучшее решение, как исправить текущий Date
.