Фермент не может найти класс

Это компонент <Foo />, который я хочу протестировать.

...

return (
            <span
                className = {`foo ${a === 'b' ? 'bar' : ''} ${className}`}>

                {kitten === 'cats' ?

                    <Cat
                        ... />
                    :

                    <Dog
                       ... />
                }

                <div
                    className = {
                        `find-me 
                    ${foo === 'bar' ? 'abc' : 'def'} 
                    ${cats}
                    ${dogs}`
                    }>

                    {
                        children.map((obj, index) => {
                            ...
                        }
               </div>
           </span>
...

и вот как я пытаюсь проверить

it('constructs correctly when there are three children rendered', () => {
    const component = mount(
        <Foo >
            {options}
        </Foo>
    );

    expect(component.find('.find-me').children()).to.have.lengthOf(3);

    component.unmount();
});

Но я получаю

TypeError: Cannot read property 'have' of undefined

Почему он не может найти класс?

.toHaveLength()
Matt Carlotta 11.02.2019 00:51

@MattCarlotta, где я могу узнать об этом to.have.foo? В документах airbnb.io/enzyme/docs/api/ReactWrapper/children.html указано to.have.lengthOf.

Stophface 11.02.2019 00:53
jestjs.io/docs/en/expect#tohavelengthnumber
Matt Carlotta 11.02.2019 01:09

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

skyboyer 11.02.2019 08:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
4
60
0

Другие вопросы по теме

Создать реагирующее приложение в уже существующем проекте, который был создан с помощью создания реагирующего приложения
Библиотека тестирования React: нужен ли мне новый тест с новыми селекторами для каждого тестового ключа?
Как протестировать функциональность события внешнего клика для React с помощью Jest и Enzyme
TypeError: Object.defineProperty вызывается для не-объекта в Function.defineProperty (<anonymous>) при использовании jest
Как протестировать метод несмонтированного компонента React, основанный на setState?
Jest: компонент меню панели инструментов тестирования не имитирует событие клика
Как смоделировать метод или функцию, чтобы вернуть ожидаемую ошибку
Named import выдает ошибки, тогда как import * from — нет
Когда я «симулирую ('щелчок')» на кнопке дочернего компонента оболочки, которая вызывает функцию onClick, реквизиты корневого компонента не обновляются
Jest Vue Ожидается, что фиктивная функция будет вызвана, но не вызвана