TypeScript 中用于开玩笑测试的全局函数

ssy*_*geo 6 typescript jestjs create-react-app

我正在使用 create-react-app-typescript 并希望创建一个函数,该函数将在每个测试文件中都可用,类似于jest 的 globals

是否src/setupTest.ts可以在每个测试文件中都可用的文件中编写一个函数?

我想编写一个react-intl可以在测试组件时使用的帮助程序。我有以下代码:

// src/setupTests.ts
import { createIntlWrapper } from 'test-utils/react/react-intl';
import enMessages from './assets/locales/en.json';

const wrapIntl = createIntlWrapper('en', enMessages);
Run Code Online (Sandbox Code Playgroud)

createIntlWrapper返回其模仿功能这个辅助功能

当我需要测试具有 react-intl 组件的组件时,我希望能够包装 JSXwrapIntl(<SampleComponent />)而不在每个文件中导入上面的代码。

Her*_*kov 1

global.wrapIntl = createIntlWrapper('en', enMessages);
Run Code Online (Sandbox Code Playgroud)

它的节点相当于window.someGlobalVariable = 'something'

  • 我尝试了这一点,并收到以下错误“属性‘wrapIntl’在类型‘全局’上不存在。”我尝试暂时添加“//@ts-ignore”,但它在其他测试文件中仍然未定义。 (2认同)