Tl; dr:
1) Как я могу заставить Jest использовать встроенную функцию require
для загрузки всех модулей в моих тестах где угодно.
2) Где/как я могу изменить (т.е. заменить на загрузчик esm) https://github.com/standard-things/esm функцию require в одном месте, перед выполнением любых тестов, поэтому все тесты будут использовать модифицированное требование.
Я хотел бы использовать esm-loader с моими тестовыми файлами Jest. Чтобы сделать это, мне нужно исправить функцию require во всем мире, прежде чем запускать какой-либо тестовый код, с чем-то вроде
require = require("@std/esm")(module, { esm: "js", cjs: true });
Как сообщить Jest о выполнении этого кода прежде, чем что-либо еще коснется или запросит?
Я попытался указать как массив setupTestFrameworkScriptFile
, так и массив setupFiles
в файл с ним, но ни один из них не работал (хотя я и подтвердил, что оба они выполнялись).
В качестве альтернативы я увольняю эти тесты с помощью npm script
"scripts": {
"test": "jest"
}
Есть ли какая-то маска CLI, благодаря которой я могу просто загрузить модуль, а затем запустить jest
?
Изменить - опции testEnvironment
и resolver
заставляют меня задаться вопросом, действительно ли это когда-либо используется с фактической функцией Node require
для загрузки модулей или вместо этого используется собственный загрузчик модуля. Если это так, мне интересно, возможно ли это.