моментальные снимки не создаются при первом запуске - PullRequest
0 голосов
/ 21 марта 2019

На прошлой неделе я пытался написать несколько тестов, используя Jest.У меня не было никаких проблем с основными утверждениями, но когда я попытался сделать несколько снимков, я столкнулся со стеной.Насколько я понимаю, при первом запуске теста будет создан снимок, и после этого он использует этот снимок для сравнения с новыми снимками.Но когда я запускаю тест, он не проходит, и снимок не создается.Я пробовал несколько вещей, но вот один фрагмент кода ...

import React from 'react';
import UserOptions from './UserOptions';
import {Provider} from "react-redux";
import {store} from "../../redux/configureStore";
import {NavLink} from "react-router-dom";
import renderer from "react-test-renderer";


describe('the user options component', ()=>{
       it('should match snap shot', ()=>{
            const tree = renderer
                .create(<NavLink to="#"/>)
                .toJSON();
            expect(tree).toMatchSnapshot();
        }); // this fails
    }); 

Я также получаю эту ошибку, но я не знаю, что с ней делать ...

console.error node_modules / реагировать-test-renderer / cjs / реагировать-test-renderer.development.js: 9194 Произошла вышеуказанная ошибка в компоненте: в Route (создан NavLink) в NavLink (в UserOptions.test.js: 43)

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

1 Ответ

0 голосов
/ 21 марта 2019

NavLink является компонентом, который является частью react-router-dom.

Он предназначен для использования внутри упаковки Router.

Компонент NavLink предназначен для выдачи ошибки, если он отображается за пределами Router, и это ошибка, которую вы видите, когда пытаетесь отобразить ее самостоятельно.

Поскольку NavLink выдает ошибку при рендеринге, тест завершается неудачно с этой ошибкой и этой строкой:

expect(tree).toMatchSnapshot();

... никогда не достигается, поэтому снимок никогда не создается.

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