Heim > Fragen und Antworten > Hauptteil
Die Uhr in der Komponente ist wie folgt:
player(isPlay) {
if (isPlay) {
this.playState = 'play'
} else {
this.playState = 'pause'
}
}
Die relevanten Anwendungsbeispiele in der Testdatei Home.spec.js lauten wie folgt
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()
})
})
Nachdem Sie dies geschrieben haben, überprüfen Sie den Abdeckungsbericht und stellen Sie fest, dass der Überwachungsteil des Codes in der Komponente nicht abgedeckt ist (alles rot).
Bitte sagen Sie mir, wie ich einen Anwendungsfall schreiben soll, um den Überwachungscode abzudecken.
大家讲道理2017-06-27 09:21:20
虽然不知道是不是正确的做法,这样写了之后,就能覆盖到watch的代码了...
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()
})
})