加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 16:21:06 所属栏目:百科 来源:网络整理
导读:我想使用react-test-renderer / shallow来测试我的反应组件. 但是当我从’react-test-renderer / shallow’导入ShallowRenderer时; tsc给我一个错误’Module’“/ Users / dulin / workspace / react-ts-webpack2 / node_modules / @ types / react-test-ren
我想使用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.

希望能帮助到你 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读