我正在尝试测试我的 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 的库上查看了其他类似的错误,但没有找到任何解决方案。
您应该将 Chart.js 版本更新到 4.1.1