• 断言异步更新

    断言异步更新

    由于 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 文章。