美文网首页
popover组件测试用例

popover组件测试用例

作者: Ories | 来源:发表于2020-01-31 16:31 被阅读0次

1. 解决小三角形引起的抖动问题。

    // 以一个为例
    &.position-bottom {
    margin-top: 10px;
    &::before, &::after{
      left: 10px;
    }
    &::before {
      border-top: none;
      border-bottom-color: black;
      /*border-color: black;*/
      bottom: 100%;
    }
    &::after {
      border-top: none;
      border-bottom-color: white;
      /*border-color: black;*/
      bottom: calc(100% - 1px);
    }
  }

2. 实现关闭功能,用 slot-scope,把 close 传给插槽

    // popover.vue
    // 第一步在slot上传一个属性
    <slot name="content" :close="close"></slot>

    // 第二步结构一下close,然后用就可以了
    // index.html
    <g-popover position="bottom">
      <template slot="content" slot-scope="{close}">
        <div><g-button @click="close">关闭</g-button></div>
      </template>
      <g-button>点我1</g-button>
    </g-popover>

3. popover 的第一个测试用例-position

it('可以设置position.', (done) => {
    Vue.component('g-popover', Popover)
    const div = document.createElement('div')
    document.body.appendChild(div)
    div.innerHTML = `
    <g-popover position="bottom" ref="a">
      <template slot="content">
        弹出内容
      </template>
      <button>点我</button>
    </g-popover>
    `
    const vm = new Vue({ // 这个vm不是组件,这个vm是一个div对应的实例,div里面才是popover组件
      el: div
    })
    vm.$el.querySelector('button').click()
    vm.$nextTick(() => {
      const {contentWrapper} = vm.$refs.a.$refs
      expect(contentWrapper.classList.contains('position-top')).to.be.false
      done()
    })
  })

4. 测试 mouseEnter 事件

  • 先确认用 dispatchEvent 的方式是可以触发 hover 事件的
    <body>
      <div id=xxx>
        hihihi
      </div>
      <button style="marin-top:20px;" id=button>click me</button>
    </body>

    xxx.addEventListener('mouseenter',function(){
      console.log('hi')
    })

    button.onclick=function(){
      let event = new Event('mouseenter');
      xxx.dispatchEvent(event)
    }
  • 可以设置 trigger 的测试用例有问题,先跳过,it 前面+一个 x 可以跳过

    xit('可以设置 trigger.', (done) => {
      Vue.component('g-popover', Popover)
      const div = document.createElement('div')
      document.body.appendChild(div)
      div.innerHTML = `
      <g-popover trigger="hover" ref="a">
        <template slot="content">
          弹出内容
        </template>
        <button>点我</button>
      </g-popover>
      `
      const vm = new Vue({ // 这个vm不是组件,这个vm是一个div对应的实例,div里面才是popover组件
        el: div
      })
      let event = new Event('mouseenter');
      vm.$el.dispatchEvent(event)
      vm.$nextTick(() => {
        const {contentWrapper} = vm.$refs.a.$refs
        expect(contentWrapper).to.be.exist
        done()
      })
    })
    
    

最后,个人微信,欢迎交流!

wechat0.jpg

相关文章

  • popover组件测试用例

    1. 解决小三角形引起的抖动问题。 2. 实现关闭功能,用 slot-scope,把 close 传给插槽 3. ...

  • Junit5使用过程的几点摘录

    基本组件 TestCase:测试用例实例TestSuite:套件执行测试用例TestRunner:继承了BaseT...

  • 软件测试基本流程

    1.需求分析(产品经理) 2.编写测试用例(测什么,怎么测) 3.评审测试用例 4.搭建测试环境 5.等待开发提交...

  • 1.软件测试流程

    1.需求分析 2.编写测试用例(测什么,怎么测) 3.评审测试用例 4.搭建测试环境 5.等待开发提交测试包 6....

  • 可复用测试用例研究(用例库)

    软件测试的关键环节是设计和执行测试用例。测试用例的质量与测试人员的技能、经验以及对被测软件的理解密切相关。如果测...

  • 安全测试

    安全测试用例 常见的安全测试应该能够做到check以下内容 测试用例应该 包含每个HTTP参数的SQL注入测试 测...

  • 用例加载与组织(unittest)

    1. 通过测试套件TestSuite组织测试用例 1.创建测试套件2.测试用例加载到测试套件,加入方式测试类('测...

  • 如何提高测试效率

    个人1.先明确测试流程2.获取有效信息,明确需求3.设计测试用例规范,沟通效率(测试用例八大要素:测试用例编号,测...

  • maven打包

    mvn install命令 1.打包会执行测试用例,如果测试用例报错不通过是打不了包的 2.maven打包时跳过测...

  • unittest各个组件之间的关系

    各个组件的含义: TestCase:测试用例,测试用例里面会有很多测试方法,是单元测试中最小维度的测试行为。 Te...

网友评论

      本文标题:popover组件测试用例

      本文链接:https://www.haomeiwen.com/subject/sfwgthtx.html