.containsMatchingElement(patternNode) => Boolean
Возвращает, соответствует ли patternNode элемент React любому элементу в дереве рендеринга.
- совпадение может произойти где угодно в содержимом обертки
- обертка может содержать более одного узла; все они проверяются
В противном случае, сопоставление следует тем же правилам, что и matchesElement.
Аргументы
-
patternNode(ReactElement): Узел, присутствие которого вы обнаруживаете в дереве рендеринга текущего экземпляра.
Возвращает
Boolean: содержит ли текущая обертка узел в своем дереве рендеринга, соответствующий переданному.
Пример
const wrapper = mount((
<div>
<div data-foo="foo" data-bar="bar">Hello</div>
</div>
));
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar">Hello</div>)).to.equal(true);
expect(wrapper.containsMatchingElement(<div data-foo="foo">Hello</div>)).to.equal(true);
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar" data-baz="baz">Hello</div>)).to.equal(false);
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="Hello">Hello</div>)).to.equal(false);
expect(wrapper.containsMatchingElement(<div data-foo="foo" data-bar="bar" />)).to.equal(false);
Возможные ошибки
-
.containsMatchingElement()ожидает ReactElement, а не селектор (как многие другие методы). Убедитесь, что при вызове используется ReactElement или выражение JSX. - Обратите внимание, что этот метод определяет равенство на основе равенства дочерних узлов узла.
Связанные методы
-
.containsAllMatchingElements() => ReactWrapper- должно соответствовать всем узлам в patternNodes -
.containsAnyMatchingElements() => ReactWrapper- должно соответствовать хотя бы одному в patternNodes
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ReactWrapper/containsMatchingElement.html