Как исправить «сетевую ошибку» при тестировании приложения «Реакция / редукция» с moxios - PullRequest
0 голосов
/ 08 января 2019

Я работаю над новым проектом, состоящим из бэкэнд-API и приложения веб-интерфейса реагирования / избыточности. Я настраиваю свой первый тест, используя шутку / энзим / моксиос.

Моя проблема в том, что, когда сервер API не работает, тест возвращает «Ошибка сети», но все тесты в порядке, если сервер работает.

Это мой тест на шутку (CRA):

import React from "react";
import { mount } from "enzyme";
import moxios from "moxios";
import Root from "../Root";
import App from "../App";

beforeEach(() => {
  moxios.install();
  moxios.stubRequest("*/products", {
    status: 200,
    response: [
      {
        id: 0,
        name: "Test product 0",
        description: "Test description 0",
        price: 55.6
      },
      {
        id: 2,
        name: "Test product 2",
        description: "Test description 2",
        price: 55.6
      }
    ]
  });
});
afterEach(() => {
  moxios.uninstall();
});

it("can fetch a list of products and display them", done => {
  const wrapped = mount(
    <Root>
      <App />
    </Root>
  );
  moxios.wait(() => {
    wrapped.update();
    console.log(wrapped.find("li").html());
    expect(wrapped.find("li").length).toEqual(2);
    done();
    wrapped.unmount();
  });
});

Кажется, что moxios работает не так, как ожидалось, но я не смог найти причину ... я также проверил, что адаптер axios - moxios:

console.log src/__tests__/productsIntegration.test.js:38
      [Function: mockAdapter]
...