首页 > 解决方案 > 反应测试笑话“不变违规:元素类型无效:预期字符串......”

问题描述

测试套件无法运行

Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

我的 utils.test.js

npm 测试 src/utils/tests/utils.test.js

import { fixedZero } from '../utils';

// fixedZero test
describe('utils', () => {
  it('fixedZero', () => {
    expect(fixedZero(0)).toBe('00');
    expect(fixedZero(5)).toBe('05');
    expect(fixedZero(10)).toBe(10);
    expect(fixedZero(55)).toBe(55);
  });
});

在我的 utils.js 中,我从 index.js 导入了一些东西

import store from '../index';

我的 index.js,它在浏览器中运行良好,但是当我运行测试时,它没有通过

import '@babel/polyfill';
import 'formdata-polyfill';
import 'url-polyfill';
import dva from 'dva';
import createHistory from 'history/createBrowserHistory';
import createLoading from 'dva-loading';
import 'moment/locale/zh-cn';
import './rollbar';
import './zhuge';

import './index.less';
const app = dva({
  history: createHistory({
    basename: '',
  }),
});
app.use(createLoading());
app.model(require('./models/global').default);
app.router(require('./router').default);
app.start('#root');

export default app._store;

标签: javascriptreactjsjestjs

解决方案


推荐阅读