setMethods 已弃用,并将在未来版本中删除

May*_*ong 4 vue.js vue-test-utils

我正在使用函数 setMethods,它仍然有效,但是我在控制台上收到了上述消息。我想知道新方法应该是什么?

它被用来监视一个方法,然后查看它是否是使用模拟参数调用的,代码如下:

const spyGenerateCalendar = jest.spyOn(wrapper.vm, 'generateCalendar');
const spyAxiosRequest = jest.spyOn(axios, 'get');

// setting methods for spying
wrapper.setMethods({generateCalendar: spyGenerateCalendar});

wrapper.vm.generateCalendar();

// Expecting calls
expect(spyGenerateCalendar).toHaveBeenCalled();
expect(spyAxiosRequest).toBeCalledWith(axiosRequestURL, axiosRequestParams);
Run Code Online (Sandbox Code Playgroud)

May*_*ong 7

这是不需要的。我已经在监视“generateCalendar”方法:

  const spyGenerateCalendar = jest.spyOn(wrapper.vm, 'generateCalendar');
Run Code Online (Sandbox Code Playgroud)

所以如果这条线wrapper.setMethods({generateCalendar: spyGenerateCalendar});被删除。结果是一样的,所以expect(spyGenerateCalendar).toHaveBeenCalled();是真的