Тестирование реагирующего маршрутизатора проходит даже с неправильными «initialEntries». Как проверить маршруты, чтобы проверить, отображается ли указанный компонент c? - PullRequest
0 голосов
/ 09 апреля 2020

Проблема:

Этот тест успешно пройден. Почему это? Я использую «uploadmain» для initialEntries, но это должно быть «/ login» или «/»

Поток моего приложения выглядит следующим образом: clientroutes передается в app. js и app. js в указатель. js

указатель. js

 render() {
    return (
      <div className={styles.main}>
        <ClientRoutes test="testing" />
      </div>
    );
  }

Приложение. js

 render() {
    return (
      <div className={styles.main}>
        <ClientRoutes test="testing" />
      </div>
    );
  }

Маршруты. js

 return (
    <Router>
      <Switch>
        <Route path={["/login", "/"]} exact component={LoginForm} />
        <Route path={["/forgotpassword"]} exact component={ForgotPassword} />
        <Route path={["/uploadmain"]} exact component={UploadMain} />

        {/* Finally, catch all unmatched routes */}
        <Route path="*" component={About} />
      </Switch>
    </Router>
  );

Тестовый файл:

const setupMount = (props = {}) => {
  return mount(
      <MemoryRouter initialEntries={["/uploadmain"]}>
          <ClientRoutes />
       </MemoryRouter>
  );
};

describe("clientroutes renders components", () => {
  it("should render one <LoginForm/> component", () => {
    let wrapper = setupMount();
    expect(wrapper.find(LoginForm).length).toBe(1);
  });
});
...