#javascript #luxon
#javascript #luxon
Вопрос:
У меня есть функция, которая возвращает DateTime.now() при определенных условиях. Я хочу протестировать эту функцию, но если я протестирую ее против DateTime.now() , это приведет к ошибочному тестированию. Есть ли какой-либо способ заморозить время для выполнения этого конкретного теста, а затем сбросить его?
Комментарии:
1. нет, это не так.
2. @JaromandaX спасибо за комментарий. Есть ли какой-либо способ, которым я могу протестировать это, не делая его ненадежным?
3. Пример кода для рассматриваемой функции был бы полезен, но я думаю, вы хотите издеваться над функцией DateTime.now, чтобы возвращать одно и то же значение при каждом ее вызове. Издевательство над ним по существу переписало бы определение функции на то, что вы укажете, что в вашем случае возвращало бы определенное значение времени. Посмотрите, поможет ли эта ссылка, хотя я не уверен, используете ли вы jest: github.com/facebook/jest/issues/2234
4. @SanchitBatra, спасибо за ссылку. На самом деле я использую jest и не знал
@sinonjs/fake-timers
. Это было именно то, что мне было нужно.