При написании тестов интеграции, которые зависят от текущей даты/времени, очень удобно иметь возможность freeze или travel до определенного момента (например, timecop для рубина)
Есть ли способ добиться чего-то подобного в Elixir/Erlang?
Я пробовал издеваться над встроенными инсталляциями Erlang :os.timestamp, :erlang.universaltime с помощью библиотеки meck, но с ошибкой :cannot_mock_builtin.
В принципе, я мог бы реализовать свою собственную библиотеку утилиты, чем позволял бы легко высмеивать текущее время, а затем использовать ее везде, а не встроенные методы; однако некоторые библиотеки используют встроенные модули, поэтому это не жизнеспособный вариант (например, Ecto.Model.Timestamps, генерирующий значения inserted_at и updated_at)