Есть ли способ узнать во время выполнения, если модуль подвергается насмешке с помощью jest?
Поскольку модулированные модули требуются нормально и, следовательно, код выполняется (как показано здесь: модуль jest выполняется даже при проверке
Нам это нужно, потому что у нас есть проверки в верхней части каждого файла, чтобы они давали сбой раньше, когда не установлена обязательная переменная среды, что приводит к сбою наших тестов, даже если модуль подвергается проверке.
if (!process.env.SOME_ENV) {
throw new Error(`Mandatory environment variable 'SOME_ENV' not set`)
}
Мы ищем что-то вроде этого:
if (!process.env.SOME_ENV && utils.isNotMocked(this)) {
throw new Error(`Mandatory environment variable 'SOME_ENV' not set`)
}
где utils.isNotMocked(this)
- магическая функция, которая проверяет, смоделирован ли модуль в данный момент.