Jest + Enzyme React Testing игнорирует ввод с атрибутом maxLength - PullRequest
0 голосов
/ 08 марта 2019

Я новичок в шутке и энзимах, и я хочу протестировать свои компоненты React с ним.Проблема в том, что фермент, похоже, игнорирует атрибуты, такие как disabled или maxLength.Точнее говоря, я написал компонент с именем TextInput props disabled, value, maxLength, ..., который напрямую отображается в поле <input type=text />.

Когда я сейчас проверяю его следующим образом:

test('empty TextInput change with maxLength', () => {
        const { wrapper } = setup({
            maxLength: 10
        });
        wrapper.find('input').simulate('change', {
            preventDefault () {},
            target: {
                value: 'New Text Content',
                maxLength: 10
            }
        });
        expect(wrapper.state().value).toEqual('New Text C');
    });

Тест не пройден, поскольку значение равно New Text Content, но когда я регистрирую состояние в браузере, оно равно New Text C

Что я делаю не так?Пожалуйста помоги.
Вот функция setup, если она кому-то нужна.

import React from 'react';
import TextInput from './TextInput.js';
import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({
    adapter: new Adapter()
});

const setup = propOverrides => {
    const props = Object.assign(
        {
            id: 'test',
            label: 'Textinput test'
        },
        propOverrides
    );

    const wrapper = shallow(<TextInput {...props} />);

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