我想使用react-test-renderer / shallow来测试我的反应组件. 但是当我从’react-test-renderer / shallow’导入ShallowRenderer时; tsc给我一个错误’Module’“/ Users / dulin / workspace / react-ts-webpack2 / node_mod
但是当我从’react-test-renderer / shallow’导入ShallowRenderer时;
tsc给我一个错误’Module’“/ Users / dulin / workspace / react-ts-webpack2 / node_modules / @ types / react-test-renderer / shallow / index”’没有默认导出.
那么,如何使用typescript导入ShallowRenderer
– 更新 –
最后,我从index.test.tsx更改我的测试文件名 – > index.test.jsx以避免定义引起的tsc错误.
import * as React from 'react'; import * as TestUtils from 'react-dom/test-utils'; import * as ShallowRenderer from 'react-test-renderer/shallow'; import PanelHead from '../'; describe('PanelHead test suites', () => { it('t-1', () => { const renderer = new ShallowRenderer(); renderer.render(<PanelHead />) const result = renderer.getRenderOutput(); expect(result.type).toBe('div'); }); });你只能使用’react-test-renderer / shallow’中的import ShallowRenderer;如果是默认导出的话.看起来它没有默认导出,因此您无法使用上述语法.您可以将其导入为
import * as ShallowRenderer from 'react-test-renderer/shallow';
现在,要创建ShallowRenderer,您可以调用方法ShallowRenderer.createRenderer()
const myShallowRenderer = ShallowRenderer.createRenderer();
你可以阅读更多关于它here.
希望能帮助到你 :)