Jest.js vue-测试-效用,笑话;引用错误:未定义请求

r3i60tvu  于 2022-12-08  发布在  Jest
关注(0)|答案(1)|浏览(162)

我正在vue.js应用程序中使用ES6 Request()构造函数进行POST API调用。实现工作正常,但我的测试套件(我正在使用Jestvue-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,
  });

任何帮助将不胜感激。提前感谢!

wlzqhblo

wlzqhblo1#

问题是fetch和其他API在您的节点上不可用。它们在浏览器中可用
https://www.npmjs.com/package/jest-fetch-mock安装为dev依赖项并正确设置。Requestfetch将按预期工作。

相关问题