TypeError:_chart.registerables 不可迭代(无法读取未定义的属性)

问题描述 投票:0回答:1

我正在尝试测试我的 React 应用程序,但是当测试以 'npm test' 开始时,我收到的第一条消息是。

TypeError:_chart.registerables 不可迭代(无法读取未定义的属性)

我不知道如何解决这个问题,因为我正在使用一个名为 ChartJs 的外部库。

我像往常一样开始测试:

import React from 'react';
import { render, screen } from '@testing-library/react';
import { createMemoryHistory } from 'history';
import App from './App';

  // testing login screen
describe('Testando a tela de Login', () => {

  afterEach(() => jest.clearAllMocks());

  // I will try to verify the login screen elements.
  it('Verificando se os elementos estão contidos na tela.', () => {
    const history = createMemoryHistory();
    localStorage.clear()

    render(
      <Router history={ history }>
        <App />
      </Router>
    );

  });
});

然后我尝试运行测试...你可以看到我没有实现任何验证,只是运行了测试脚本

Test suite failed to run

    TypeError: _chart.registerables is not iterable (cannot read property undefined)

      4 | import PropTypes from 'prop-types';
      5 |
    > 6 | ChartJS.register(...registerables);
        |         ^
      7 |
      8 | function PieChart({ chartData }) {
      9 |   return (

      at Object.<anonymous> (src/components/PieChart.jsx:6:9)
      at Object.<anonymous> (src/pages/MainUserScreen.jsx:3:1)
      at Object.<anonymous> (src/App.jsx:5:1)
      at Object.<anonymous> (src/App.test.js:4:1)
      at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13)
      at runJest (node_modules/@jest/core/build/runJest.js:404:19)

我在 stackoverflow 以及 jest 和 ChartJS 的库上查看了其他类似的错误,但没有找到任何解决方案。

reactjs jestjs chart.js
1个回答
0
投票

您应该将 Chart.js 版本更新到 4.1.1

© www.soinside.com 2019 - 2024. All rights reserved.