栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

toast组件单元测试

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

toast组件单元测试

  1. 先看是否存在

     describe('Toast', () => {
         it('存在.', () => {
      expect(Toast).to.be.exist
         })
     });
    
  2. 看属性,我们要测 ToastVue 和 plugin.js

     describe('Toast', () => {
     it('存在.', () => {
         expect(Toast).to.be.exist
     })
     describe('props',function () {
         this.timeout(15000) // 设置15秒关闭
         it('接收 autoClose', (done)=>{
         let div = document.createElement('div')
         document.body.appendChild(div)
         const Constructor = Vue.extend(Toast)
         const vm = new Constructor(
      {
      propsdata:{
          autoClose: true,
          autoCloseDelay: 1
      }
      }
         ).$mount(div)
         setTimeout(()=>{
      expect(document.body.contains(vm.$el)).to.eq(false)
      done()
         },6000)
         })
     })
     });
     // 进一步优化,变成关闭的时候进行测试,不需要设置6秒
     vm.$on('close',()=>{
         expect(document.body.contains(vm.$el)).to.eq(false)
         done()
     })
    
  3. 报异常错误,要用 yarn run dev-test 代替 npm run dev-test

  4. 测试 closeButton。

    it('接收 closeButton', ()=>{
  const callback = sinon.fake();
      const Constructor = Vue.extend(Toast)
      const vm = new Constructor({
 propsdata: {
   closeButton: {
     text: '关闭吧',
     callback,
   },
 }
      }).$mount()
      let closeButton = vm.$el.querySelector('.close')
      expect(closeButton.textContent.trim()).to.eq('关闭吧')
      closeButton.click()
      expect(callback).to.have.been.called
    })

这里测试后的时候出现 warning,Cannot read property ‘style’ of undefined,通过修改 toast.vue 中代码解决

    methods: {
 updateStyles () {
     this.$nextTick(() => {
  if(this.$refs.toast && this.$refs.line){
      this.$refs.line.style.height =
      `${this.$refs.toast.getBoundingClientRect().height}px`
  }
     })
 }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/245245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号