为什么在使用 Jest 时不需要导入一些东西?

6 reactjs jestjs

我是 React 的新手,仍然在努力理解一些基础知识,如果我的问题看起来很奇怪,抱歉。我们知道我们需要将模块导入为

import sth from 'sth';
Run Code Online (Sandbox Code Playgroud)

所以当我们使用 Jest 时,难道我们不需要这样做:

import { test, expect...} from 'Jest';
Run Code Online (Sandbox Code Playgroud)

Eve*_*erg 6

正如@nahanil 指出的那样,Jest 将您需要的方法放在 NodeJS 运行时的全局范围内。如果console.log(global)在运行 jest 时将 a放入文件中,您将看到这些方法已挂接到全局范围内。其他库如assert不遵循相同的约定,您将需要导入您需要的断言。

这发生在这里:https : //github.com/facebook/jest/blob/160d27ae9b6728dccf268f8a98351bcf82a7d9e1/packages/jest-environment-node/src/index.ts#L21