шутка неглубокая рендеринг - PullRequest
0 голосов
/ 13 июня 2019

Я тестирую класс как:

const wrapper = shallow(<Features {...props}/>);
expect(wrapper.find('.Feature__Item:not(.Feature__Showmore)').length).toBe(2);

Но я получаю сообщение об ошибке: Ошибка: Enzyme :: Selector не поддерживает псевдо-элемент или псевдокласс.

Как мне обойти это ограничение?

Обновление : Интересное наблюдение, когда я написал следующее в консоли отладки: wrapper.find('.Feature__Item').findWhere(a => a.hasClass('Feature__Showmore') === false).length

Вывод был:

0:Object {nodeType: "host", type: "li", props: Object, …}
1:Object {nodeType: "function", type: , props: Object, …}
2:Object {nodeType: "host", type: "li", props: Object, …}
3:Object {nodeType: "function", type: , props: Object, …}

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Я нашел другой способ, который сделал трюк:

expect(wrapper.find('.Feature__Item').not('.Feature__Showmore').length).toBe(2);
1 голос
/ 13 июня 2019

Вы можете попробовать с findWhere:

expect(wrapper.find('.Feature__Item').findWhere(a => a.hasClass('Feature__Showmore') === false).length).toBe(2);

Сначала будут получены все элементы, имеющие класс Feature__Item, а затем исключены из этого списка те, которые не имеют Feature__Showmore класса.

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