在单元测试中遇到了Vue的不常用api Vue.extend 和 vm.$mount

例如:

it('接收 offset 属性', () => {
  const div = document.createElement('div')
  document.body.appendChild(div)
  const Construtor = Vue.extend(Col)
  const vm = new Construtor({
    propsData: {
      offset: 1
    }
  }).$mount(div)
  const element = vm.$el
  expect(element.classList.contains('offset-1')).to.eq(true)
  div.remove()
  vm.$destroy
})

用Vue.extend 创建出一个新的Col实例,extend创建的实例传参需要以对象的形式

$mount挂载到div中,如果$mount()不传参数,默认挂载到body上

当mount之后,就可以用$el取到当前元素

在测试完成后,应该要删除在body中div和销毁extend创建的实例