相关疑难解决方法(0)

如何在 VueJS 中测试全局事件总线

在此文章中解释了如何在VueJS使用全局事件总线。它描述了使用在单独文件中定义的事件总线的通用方法的替代方法:

import Vue from 'vue';

const EventBus = new Vue();
export default EventBus;
Run Code Online (Sandbox Code Playgroud)

这必须在需要它的每个 SFC 中导入。另一种方法是将全局事件总线附加到主 Vue 实例:

// main.js
import Vue from 'vue';

Vue.prototype.$eventBus = new Vue(); // I call it here $eventBus instead of $eventHub

new Vue({
  el: '#app',
  template: '<App/>',
});

// or alternatively
import Vue from 'vue';
import App from './App.vue';

Vue.prototype.$eventBus = new Vue();

new Vue({
  render: (h): h(App),
}).$mount('#app');
Run Code Online (Sandbox Code Playgroud)

现在我有一个问题,我不知道如何在单元测试中使用以这种方式创建的全局事件总线。

已经有一个关于使用第一个提到的方法测试全局事件总线的问题,但没有答案被接受。

我按照使用的答案之一中的建议进行了尝试createLocalVue,但这没有帮助:

it('should listen to the …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing vue.js vue-test-utils vue-events

5
推荐指数
1
解决办法
3106
查看次数