0
Vue $ root 인스턴스가 내 보낸 이벤트를 수신하는 구성 요소가 있습니다.
export default {
data() {
return {
name: ''
}
},
methods: {
openModal(name) {
this.name = name
}
},
mounted() {
this.$root.$on('open-modal', name => {
this.openModal(name);
});
}
}
그리고 나는 그 이벤트를 호출하는 코드가 있습니다.
this.$root.$emit('open-modal', 'some-name');
$ root에 해당 이벤트를 호출하고 이벤트가 호출되었다는 것을 알리는 단위 테스트를 작성하려면 어떻게해야합니까? 나는 Vue test utils https://vue-test-utils.vuejs.org/en/을 사용하고 있으며 이벤트를 호출하는 방법을 찾을 수 없습니다.
시도했지만 작동하지 않습니다.
it('sets the modal name on the open-modal event',() => {
const wrapper = mount(Modal);
wrapper.vm.$root.$emit('open-modal', 'my-modal')
expect(wrapper.vm.$data.name).to.equal('my-modal');
});
이 관련이있을 수 : https://github.com/vuejs/vue-test-utils/issues/6 –
감사 내가에서 오전으로 이벤트를 수신 정말 같은 관심 없어 @RoyJ 그것을 방출. –
당신의 방출이 맞다고 생각합니다. 데이터 업데이트가 표시되지 않는 이유는 핸들러가 테스트하기 전에 응답 할 유휴 시간이 없었기 때문입니다. –