gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 04:53:55 25 4
gpt4 key购买 nike

我正在尝试使用 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"
}
}

运行 yarn 测试时出错

 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 配置或类似的东西。感谢您的帮助😊

最佳答案

我遇到了同样奇怪的问题......在我的例子中,我有一个名为 feature.js 的文件,就在我想要导入 feature.ts 的真实文件旁边。

.js 文件可能是我错误运行 tsc 时出现的(或者 webstorm 帮我做了...)

据我了解,jest 试图导入 .js 文件而不是 .ts 文件

删除 feature.js 解决了这个问题。 PS:我运行的是 TS 4.5。

关于javascript - React Jest - TypeError : (0 , _[....]) 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65919619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com