当前位置 : 主页 > 网页制作 > React >

reactjs – 如何使用react-test-renderer / shallow与typescript?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我想使用react-test-renderer / shallow来测试我的反应组件. 但是当我从’react-test-renderer / shallow’导入ShallowRenderer时; tsc给我一个错误’Module’“/ Users / dulin / workspace / react-ts-webpack2 / node_mod
我想使用react-test-renderer / shallow来测试我的反应组件.

但是当我从’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.

希望能帮助到你 :)

网友评论