Vue造轮子-Tabs测试(下)

2020-01-28  本文已影响0人  Ories

1. 如果g-tabs里面不是g-tabs-head,g-tabs-body期望会报错。

  // 目前没有报错,所以先改
  // tabs.vue
   if(this.$children.length===0){
        // 这个$children是看子组件,不是子元素
        throw new Error('tabs的子组件应该是tabs-head和tabs-pane,但你没有写子组件')
    }

2. 下面开始测tabs的属性

3. 测试tabs-item组件

describe('TabsItem', () => {
  it('存在.', () => {
    expect(TabsItem).to.exist
  })

  it('子组件接收 name 属性', () => {
    const Constructor = Vue.extend(TabsItem)
    const vm = new Constructor({
      propsData: {
        name: 'xxx',
      }
    }).$mount()
    expect(vm.$el.getAttribute('data-name')).to.eq('xxx')
  })

  it('子组件接收 disabled 属性', () => {
    const Constructor = Vue.extend(TabsItem)
    const vm = new Constructor({
      propsData: {
        disabled: true,
      }
    }).$mount()
    // expect(vm.$el.classList.contains('disabled')).to.be.true
    const callback = sinon.fake();
    vm.$on('click', callback)
    vm.$el.click()
    expect(callback).to.have.not.been.called
    // 测试覆盖率,目前是坑之后再填
  })
});

最后,欢迎交流!

<img src="https://i.loli.net/2020/01/27/gS4ZwP6zfAvULYT.jpg" alt="微信" width="400" height="400" align="bottom" />

上一篇 下一篇

猜你喜欢

热点阅读