javascript - Comment couvrir les variables dans Watch en utilisant l'échafaudage officiel de Vue pour les tests unitaires?
typecho
typecho 2017-06-27 09:19:20
0
1
1087

La montre dans le composant est la suivante :

player(isPlay) {
  if (isPlay) {
    this.playState = 'play'
  } else {
    this.playState = 'pause'
  }
}

Les exemples d'utilisation pertinents dans le fichier de test Home.spec.js sont les suivants

it('播放状态切换', () => {
  const Constructor = Vue.extend(Home)
  const vm = new Constructor().$mount()
  vm.playerShow = true
  Vue.nextTick( () => {
    expect(vm.playState).to.equal("play")
  })
  vm.playerShow = false
  Vue.nextTick( () => {
    expect(vm.playState).to.equal("pause")
    done()
  })
})

Après avoir écrit ceci, vérifiez le rapport de couverture et constatez que la partie montre du code dans le composant n'est pas couverte (toute rouge)
Veuillez me dire comment écrire un cas d'utilisation pour couvrir le code de la montre

typecho
typecho

Following the voice in heart.

répondre à tous(1)
大家讲道理

Bien que je ne sache pas si c'est la bonne approche, après l'avoir écrit de cette façon, le code de la montre sera couvert...

it('播放状态切换', () => {
  const Constructor = Vue.extend(Home)
  const vm = new Constructor().$mount()
  vm._watchers[0].cb(true)
  Vue.nextTick( () => {
    expect(vm.playState).to.equal("play")
  })
  vm._watchers[0].cb(false)
  Vue.nextTick( () => {
    expect(vm.playState).to.equal("pause")
    done()
  })
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal