如何在玩笑测试中使用代码不同部分的函数?

How to use functions from different part of my code in jest testing?

我想开玩笑地写一个测试。 我在不同的 js 文件中有 2 个函数,我需要使用它们才能传递 数据到函数即时测试中。

我尝试使用:

  1. 从 './funcfile' 导入 {func} 给出: 语法错误:无法在模块外使用导入语句
  2. const {func} = require('./funcfile') 给出: 语法错误:意外的标记 'export'

查看其他主题和 google,尝试安装所有依赖项并将配置添加到 package.json、jest.config.js、.babelrc、babel.config.js.

唯一发生的事情是在类型 ErrorHandler = ... 周围出现错误 它再次表示语法错误,除了“;”

我还原了所有内容,因此我没有包含更改的文件,愿意尝试任何您认为合适的解决方案。

它在 export const phone_number 时崩溃并且永远不会到达 getSubCategory 导出行....

编辑:

被要求添加更多代码以便其他人更好地理解, 事情是没有更多的代码。 我有一个包含很多 export const = ; 的文件 (如图所示) 最终函数 export const(如照片中所述)

在我的笑话文件中,我只添加了 import/require 行,但那里的测试失败了。

我在使用建议答案时遇到的错误:

您可以导入实用程序 class 并将常量用作此导出模块的属性,例如

import * as UTILS from './utils';

...

UTILS.getSubCategoryId('return input')

其中 utils

export const getSubCategoryId = (category) => category;

请检查示例 https://stackblitz.com/edit/typescript-rujqvm?file=index.ts

结合 VadimB 解决方案必须将这些行添加到根目录.babelrc

{
  "env": {
    "test": {
      "plugins": ["@babel/plugin-transform-modules-commonjs"]
    }
  }
}

现在一切正常