【发布时间】:2019-07-08 23:54:54
【问题描述】:
我正在测试一个使用ag-grid 的组件,但测试套件在导入它的许可证时失败,并且它与正在测试的组件无关。
import React from 'react';
import RelatorioVendas from './RelatorioVendas';
import { configure, shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
// tslint:disable-next-line:no-any
configure({ adapter: new Adapter() });
test('renders the "RelatorioVendas" component.', () => {
const wrapper = shallow(
<RelatorioVendas/>
);
wrapper.simulate("gridReady");
expect(wrapper).toMatchSnapshot();
});
错误:
src/routes/Dashboard/RelatorioVendas.test.js
● Test suite failed to run
TypeError: Cannot read property 'measureText' of null
35 | import ValidationService from '../../services/ValidationService';
36 |
> 37 | import { LicenseManager } from "ag-grid-enterprise";
| ^
38 | LicenseManager.setLicenseKey("***********");
39 |
40 | class RelatorioVendas extends Component {
at node_modules/ag-grid-enterprise/dist/lib/charts/canvas/hdpiCanvas.js:258:45
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/canvas/hdpiCanvas.js:264:2)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/scene/scene.js:4:20)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/chart/chart.js:4:15)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/chart/cartesianChart.js:17:15)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/chart.js:31:24)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/charts/chartingService.js:15:15)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/menu/menuItemMapper.js:16:25)
at Object.<anonymous> (node_modules/ag-grid-enterprise/dist/lib/menu/enterpriseMenu.js:29:24)
at Object.<anonymous> (node_modules/ag-grid-enterprise/main.js:5:24)
at Object.<anonymous> (src/routes/Dashboard/RelatorioVendas.js:37:1)
at Object.<anonymous> (src/routes/Dashboard/RelatorioVendas.test.js:2:1)
Test Suites: 1 failed, 1 passed, 2 total
Tests: 1 passed, 1 total
Snapshots: 1 passed, 1 total
Time: 8.645s
如果 jest 会从正在导入的内部库中引发随机错误,我应该如何测试我的项目?有没有办法跳过与导入相关的错误?
【问题讨论】:
-
Enzyme via Jest 正在尝试渲染您的组件,并且它正在堆叠您的第三方组件以需要堆叠的方式进入的构建块。您更有可能遇到无法找到所需组件的设置问题。查找找到 node_modules 的 Jest 解析器
-
我也有同样的问题,你解决了吗?
标签: javascript reactjs jestjs enzyme react-scripts