tl;博士是:
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脚本启动这些测试
"scripts": {
"test": "jest"
}
Run Code Online (Sandbox Code Playgroud)
是否有一些CLI魔术,我可以加载模块然后运行jest?
编辑 - testEnvironment和resolver选项让我想知道是否甚至使用实际的Node require函数来加载模块,或者使用自己的模块加载器.如果是这样,我想知道这是否可行.