Тестирование NotFoundPage с шуткой и ферментом - PullRequest
0 голосов
/ 19 февраля 2019

Я только что присоединился к фронт-команде, и меня попросили провести несколько тестов приложения, мне нужно убедиться, что моя страница Not Found появляется только в том случае, если пользователь не вводит правильный URL-адрес.

Я знаю, что есть MemoryRouter, если для маршрутизации нашего приложения используется реагирующий маршрутизатор, но моя команда не использует его:

<MemoryRouter initialEntries={["/random"]}>
    <Routes />
</MemoryRouter>

это компонент, который управляет маршрутизацией:

const routes = {
  path: "",
  children: [
    {
      path: "/",
      load: () => import(/* webpackChunkName: 'home' */ "./home")
    },
    {
      path: "/login",
      load: () => import(/* webpackChunkName: 'login' */ "./login")
    },
    {
      path: "/delivery",
      load: () => import(/* webpackChunkName: 'delivery' */ "./delivery")
    },
    {
      path: "/offers",
      load: () => import(/* webpackChunkName: 'delivery' */ "./offers")
    },
    // Wildcard routes, e.g. { path: '(.*)', ... } (must go last)
    {
      path: "(.*)",
      load: () => import(/* webpackChunkName: 'not-found' */ "./not-found")
    }
  ],
  async action({ next }) {
    const route = await next();
    return route;
  }
};

**export default routes:**

Итак, я все еще пытался с MemoryRouter, но он не работает:

import React from "react";
import { mount } from "enzyme";
import { MemoryRouter } from "react-router";
import { Route } from "react-router-dom";
import NotFoundPage from "../routes/not-found/NotFound";
import Routes from "../routes/index";

describe("testing NotFoundPage", () => {
  it("should go to 404 page", () => {
    const component = mount(
      <MemoryRouter initialEntries={["/random"]}>
        <Routes />
      </MemoryRouter>
    );
    expect(component.find(NotFoundPage)).toHaveLength(1);
  });
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...