如何在 jest setupFiles 中访问“expect”

dx_*_*_dt 6 javascript jestjs

我想在 Jest 中创建一个自定义匹配器。我希望这应该出现在我的 jest-setup.js 文件中,在我的 jest.config.js 文件中指定。

jest-setup.js

// ...

expect.extend({
    myCustomMatcher(received, val) {
        // ...
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,whilejest是执行中的全局变量,但似乎expect不是。我可以将我的扩展放在一个帮助文件中,并为使用它的任何测试套件导入该文件,但这似乎是错误的解决方案。

有没有办法expectjest变量(或其他方式)访问?

Sha*_*mes 10

你可以用它setupFilesAfterEnv来做到这一点。从文档(强调我的):

setupFilesAfterEnv [数组]

在每次测试之前运行一些代码以配置或设置测试框架的模块的路径列表。由于 setupFiles 在环境中安装测试框架之前执行,此脚本文件为您提供了在环境中安装测试框架后立即运行一些代码的机会。