我正在vue.js应用程序中使用ES6 Request()
构造函数进行POST API调用。实现工作正常,但我的测试套件(我正在使用Jest
和vue-test-utils
)失败,错误如下:
引用错误:未定义请求
下面是我的测试用例的代码片段:
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,
});
任何帮助将不胜感激。提前感谢!
1条答案
按热度按时间wlzqhblo1#
问题是
fetch
和其他API在您的节点上不可用。它们在浏览器中可用将https://www.npmjs.com/package/jest-fetch-mock安装为dev依赖项并正确设置。
Request
和fetch
将按预期工作。