Написание интеграционных тестов для проверки правильности маршрутизации приложения - PullRequest
0 голосов
/ 28 июня 2018

В настоящее время я пытаюсь написать интеграционный тест, который проверяет полную работу моего приложения.

Моя самая большая проблема сейчас заключается в том, чтобы попытаться визуализировать компонент в моем контейнере MainTemplate, чтобы он изменялся в зависимости от того, как он меняется в реальной среде. По сути, я пытаюсь получить MainTemplate для рендеринга компонента HomePage, который мне удалось выполнить, а затем изменить его на другой маршрут после нажатия на элемент Link в компоненте HomePage. Это должно привести к визуализации компонента DictionaryRooms.

Результаты не такие, как я ожидал, так как снимок Jest по-прежнему отображает HomePage даже после имитации «щелчка». Любые идеи будут очень приветствоваться. Заранее спасибо

const wrapper = mount(
    <Root>
        <MemoryRouter initialEntries={['/']} initialIndex={0}>
            <MainTemplate>
                <Route
                    path="/dictionaries"
                    render={() => (
                        <MainTemplateContent
                            title="Dictionaries"
                        >
                            <Route path="/dictionaries/rooms" component={DictionaryRooms} />
                        </MainTemplateContent>
                    )}
                />
                <Route
                    exact
                    path="/"
                    render={() => (
                        <MainTemplateContent title="">
                            <HomePage />
                        </MainTemplateContent>
                    )}
                />
            </MainTemplate>
        </MemoryRouter>
    </Root>
);



it("renders HomePage", () => {
    expect(wrapper.find(HomePage).length).toEqual(1);
});

it("link to dictionaries exists", () => {
    expect(wrapper.find("[href='/dictionaries']").length).toEqual(1);
});

it("clicking on link to dictionaries renders ", () => {
    wrapper
        .find("[href='/dictionaries']")
        .simulate('click');
    expect(wrapper).toMatchSnapshot();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...