使用vue-test-utils和jest使用方法参数测试创建的钩子函数调用

时间:2019-11-05 15:29:50

标签: vue.js jestjs vue-test-utils babel-jest

我正在尝试测试vue组​​件,其中在创建的钩子中进行了服务调用,并传递了来自vue组件的methods对象的函数。例如

....

created() {
  GlobalMessageRegistry.addUpdateListener(this.update)
},
methods: {
  update(updateMessages) {
     //do stuff
  },
},

....

我想测试通过传递this.update来调用GlobalMessageRegistry.addUpdateListener,以便我的笑话测试看起来像这样(注意GlobalMessageRegistry在测试中已正确模拟)

....

it('Adds update as a GlobalMessageRegistry update listener, () => {
  const mockUpdate = jest.fn();
  const component = shallowMount(MyComponent, {
    methods: {
      update: mockUpdate
    },
  });
  expect(GlobalMessageRegistry.addUpdateListener).toHaveBeenCalledWith(mockUpdated);  
});

....

0 个答案:

没有答案