реагировать-лениво ломать шутки? - PullRequest
0 голосов
/ 12 июня 2018

Я работал над оптимизацией своего реактивного проекта, и сегодня я реализовал ленивую загрузку всех моих изображений с помощьюact-lazyload (https://github.com/jasonslyvia/react-lazyload).

Пакет работает просто отлично, но как только я попытался обновитьмои тесты моментальных снимков все они провалились!

Я получаю ошибку:

Uncaught [TypeError: Cannot read property 'position' of undefined]

Я попытался увидеть то, что смог найти в Google, но ничего не вышло.

Вот пример одного из моих тестов снимков (они настолько просты, насколько это возможно):

import React from 'react';
import renderer from 'react-test-renderer';
import App from './App';

describe('App', () => {
    describe('Component Snapshot', () => {
        it('should render correctly', () => {
            const componentSnapshot = renderer.create(<App />).toJSON();
            expect(componentSnapshot).toMatchSnapshot();
        });
    });
});

Нужно ли издеваться над ленивым грузом?Если да, есть ли у кого-нибудь совет, как мне поступить?Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 14 июня 2018

В случае, если кто-нибудь столкнется с этой проблемой, я решил ее, используя «фермент-к-json» вместо «реакция-тест-рендеринг» в сочетании с собственной функцией «рендеринга» ферментов.

Вотобновленный тест, чтобы вы могли понять, что я имею в виду.

import React from 'react';
import { render } from 'enzyme';
import toJson from 'enzyme-to-json';
import App from './App';

describe('App', () => {
    describe('Component Snapshot', () => {
        it('should render correctly', () => {
            const componentRender = render(<App />);
            expect(toJson(componentRender)).toMatchSnapshot();
        });
    });
});

Я не знаю точных причин, по которым сбои реагирует на тестирование, моя интуиция говорит мне об этом, потому что в узле нет окна для моего узла.ленивый заполнитель для заполнения не существует «позиции» для определения.Я предполагаю, что у энзима есть что-то умное, что происходит за кулисами, чтобы обойти это?

Если у кого-то есть более четкое объяснение, я бы хотел услышать его, но сейчас, по крайней мере, проблема исправлена:)

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