断言异步更新

由于 Vue 进行 异步更新 DOM 的情况,一些依赖 DOM 更新结果的断言必须在 Vue.nextTick 回调中进行:

  1. // 在状态更新后检查生成的 HTML
  2. it('updates the rendered message when vm.message updates', done => {
  3. const vm = new Vue(MyComponent).$mount()
  4. vm.message = 'foo'
  5. // 在状态改变后和断言 DOM 更新前等待一刻
  6. Vue.nextTick(() => {
  7. expect(vm.$el.textContent).toBe('foo')
  8. done()
  9. })
  10. })

关于更深入的 Vue 单元测试的内容,请移步 Vue Test Utils 以及我们关于 Vue 组件的单元测试的 cookbook 文章。