React Jest - TypeError: (0 , _[....]) 不是函数

问题描述

我正在尝试使用 Jest 为 React 应用程序创建单元测试,但不幸的是在将任何组件导入我的测试后出现错误。该错误出现在我拥有的每个功能上。 该应用程序是使用 Create React App 创建的,这个问题在我的项目中的每个函数上都会重复出现。

index.js

import 'react-app-polyfill/ie11';
import React from 'react';
import ReactDOM from 'react-dom';
import * as serviceWorker from './serviceWorker';
import Settings from './AppEnvironment';
import intl from 'react-intl-universal';
import { Provider } from 'mobx-react';
import { stores } from '~/stores';
import { HashRouter as Router } from 'react-router-dom';
import 'antd/dist/antd.css';
import './assets/stylesheets/styles.scss';
import App from './App';
import ReactBreakpoints from 'react-breakpoints';
import { breakpoints } from '~/utils/BreakPoints';
import AppProvider from './hooks';
import { initialize } from '@TruckPad/truckpad-analytics';
import { initializeGTM,initializeBlip } from '~/services/external';
import { resetLogin } from './utils/Utils';

initialize([Settings.gtag,Settings.utag]);

initializeGTM();
initializeBlip(
  'YXRoZW5hcm91dGVyOjIxN2U2ODdlLTk3MTUtNDE0NC04ZjJiLTNkNTZhNmQ1MGY1NQ==',Settings.environment === 'production',);

const locales = {
  'pt-BR': require('./locales/pt-BR.json'),'en-US': require('./locales/en-US.json'),};
const currentLocale = locales[navigator.language] ? navigator.language : 'pt-BR';

intl.init({
  currentLocale,locales,});

console.log('Environment: ' + Settings.environment);
console.log('Version: ' + Settings.version);
resetLogin();
ReactDOM.render(
  <Provider {...stores}>
    <AppProvider>
      <ReactBreakpoints breakpoints={breakpoints}>
        <Router baseline="/">
          <App />
        </Router>
      </ReactBreakpoints>
    </AppProvider>
  </Provider>,document.getElementById('root'),);

serviceWorker.unregister();

package.json 上的 Jest 配置

  "jest": {
    "moduleNameMapper": {
      "~/(.*)": "<rootDir>/src/","\\.(css|less|scss|sass)$": "identity-obj-proxy"
    }
  }

运行纱线测试时出错

 FAIL  src/pages/Shipments/List/ShipmentsList.spec.js
  ● Test suite failed to run

    TypeError: (0,_Utils.generateUUID) is not a function

      283 | export const stoppingPointEmpty = {
      284 |   action: '',> 285 |   key: generateUUID(),|        ^
      286 |   address: {
      287 |     street_name: '',288 |     street_number: '',at Object.<anonymous> (src/components/Commons.js:285:8)
      at Object.<anonymous> (src/stores/VehicleStore.js:5:1)
      at Object.<anonymous> (src/utils/GenericClass.js:4:1)
      at Object.<anonymous> (src/App.js:14:1)
      at Object.<anonymous> (src/index.js:12:1)
      at Object.<anonymous> (src/pages/Shipments/List/ShipmentsList.js:3:1)
      at Object.<anonymous> (src/pages/Shipments/List/ShipmentsList.spec.js:2:1)

这个函数 (generateUUID) 和所有其他带有 export const 的函数都给了我同样的错误。

这里有人遇到过同样的问题吗?我认为可能是 babel 配置或类似的东西。 谢谢你的帮助?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...