Простое приложение со списком задач, чтобы начать работу с Jest и Enzyme.
В App.js я рендерил следующий компонент, где props.list равен пустому массиву в состоянии.
export const Ul = ({list}) => {
return (
<ul className="list" >
{list.map((item,i) => <li key={i}>{item}</li> )}
</ul>
)
}
При просмотре в Chrome элемент отображается так, как ожидалось.
<ul class="list"></ul>
Просмотр dom, сгенерированного Enzyme, в консоли с помощью wrapper.debug()
, компонент отображает как:
<Ul list={{...}}>
<ul className="list" />
</Ul>
Я нахожу это странным и не знаю почему.
Моя проблема в том, что я не могу пройти тестовую проверку на отсутствие детей 'li' в UL со следующими данными:
it('ul initially has no children', () => {
const wrapper = mount(<App />);
expect(wrapper.find('.list').children()).to.have.lengthOf(0);
// const ul = wrapper.find('.list');
// expect(ul).toHaveLength(0);
})
Я продолжаю получать сообщение "TypeError: Невозможно прочитать свойство 'have' of undefined", которое заставляет меня думать, что он не находит
в первую очередь.
Я просто неправильно использую jest / энзим api?