我正在用cypress测试vue组件。对于我的应用程序,我正在使用here中所述的全局EventBus。
我的EventBus.js看起来像这样:
import Vue from 'vue';
export const EventBus = new Vue();
console.log(EventBus);
我正在测试的vue组件在此事件总线上侦听事件以显示数据。在我的测试中,我打电话给:
EventBus.$on("Event-name", event => {
//listen on events
});
数据未显示在我的组件中。问题可能是创建了两个EventBusses,而不是一个。 记录EventBus时,我得到:
Vue {_uid: 0, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: Vue, …}
在我的测试开始运行之前。下面是测试开始后的EventBus。
Vue {_uid: 2, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: Vue, …}
console.log
写在EventBus.js文件中,该文件包含全局EventBus。 uid是不同的,所以我猜Vue创建了一个新的EventBus。
我如何使其工作?