我在我的ES6应用程序中使用Request()构造函数进行POST API调用。该实现运行良好,但是我的测试套件(我使用的是Jest和vue-test-utils)失败了,出现了以下错误:
ReferenceError:未定义请求
下面是我的测试用例的代码片段:
it('Expect login to pass validation on submit', ()=> {
const $router = {
push : jest.fn()
}
// const validateLogin = jest.fn();
const executeLoginSpy = jest.spyOn(wrapper.vm, 'executeLogin');
wrapper = mount(Login, {
localVue,
vuetify,
mocks: { $router },
stubs: ['router-link'],
data() {
return {
login: {
email: 'test@testmail.com',
password: 'test@@@@@@@@123'
}
}
}
});
const button = wrapper.find('.submit-btn');
button.trigger('click');
expect(executeLoginSpy).toHaveBeenCalled();
expect($router.push).toBeCalledWith('/');
});我还使用Request()附加了我的实现的一个片段。
const request = new Request('/api/token', {
method: 'POST',
body: formData,
});任何帮助都将不胜感激。提前感谢!
发布于 2022-06-27 15:39:36
问题是fetch和其他API在您的节点上不可用。它们可以在浏览器中使用。
将https://www.npmjs.com/package/jest-fetch-mock安装为一个dev依赖项,并正确设置它。Request和fetch将如预期的那样工作。
https://stackoverflow.com/questions/72732867
复制相似问题