我是 React 的新手,仍在努力理解一些基础知识,对不起,如果我的问题看起来很奇怪。 我们知道我们需要将模块导入为
import sth from 'sth';
所以当我们使用Jest时,我们不需要做:
import { test, expect...} from 'Jest';
正如@nahanil指出的那样,Jest 将您需要的方法放在 NodeJS 运行时的全局范围内。如果在运行 jest 时在文件中放置console.log(global)
,您将看到这些方法已挂接到全局范围。其他库(如 assert
(不遵循相同的约定,您需要导入所需的断言。
这发生在这里:https://github.com/facebook/jest/blob/160d27ae9b6728dccf268f8a98351bcf82a7d9e1/packages/jest-environment-node/src/index.ts#L21
如官方文档 api 中第一部分所述📚 :
在您的测试文件中,Jest 将这些方法和对象中的每一个放入全局环境中。您无需要求或导入任何内容即可使用它们。但是,如果您更喜欢显式导入,则可以从"@jest/globals"导入{描述,期望,测试}。
import {describe, expect, test} from '@jest/globals'