enzyme初探

本文为enzyme初次学习笔记,持续更新。。。

选择器

  1. css选择器

  2. react组件

    function MyComponent() {
      return <div />;
    }
    
    // find instances of MyComponent
    const myComponents = wrapper.find(MyComponent);
    
  3. react displayme

    function MyComponent() {
      return <div />;
    }
    MyComponent.displayName = 'My Component';
    
    // find instances of MyComponent
    const myComponents = wrapper.find('My Component');
    
  4. 对象属性选择器

    const wrapper = mount((
      <div>
        <span foo={3} bar={false} title="baz" />
      </div>
    ));
    
    wrapper.find({ foo: 3 });
    wrapper.find({ bar: false });
    wrapper.find({ title: 'baz' });
    //如果属性值为undefined,请使用findWhere()
    

Shallow rendering(shallow)

shallow 只渲染React顶级组件,不渲染子组件,适合测试React组件的渲染行为(可以模拟交互)

Full dom rendering(mount)

如果想要渲染完整的DOM树,甚至想看看组件中的点击是否获得预期效果,可以选择“mount”,这种方法不光可以产生DOM树,还会加上所有组件的事件处理函数,可以模拟一个浏览器中的所有行为。(渲染子组件,可以模拟交互)

Static rendering

如果只想检查React组件函数渲染完整HTML,不需要交互功能,可以使用“render”函数。(渲染子组件,不可模拟交互)

参考

  1. 官方文档
  2. 探索 TypeScript + Jest 开源项目的自动化测试(上)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值