Spec-Zone.ru › Enzyme

.contains(nodeOrNodes) => Boolean

Возвращает, соответствуют ли все заданные реактивные элементы элементам в дереве рендеринга. Он определит, соответствует ли элемент в обёртке ожидаемому элементу, проверив, имеют ли ожидаемый элемент и обёртка одинаковые свойства и одинаковые значения.

Аргументы

  1. nodeOrNodes (ReactElement|Array<ReactElement>): Узел или массив узлов, присутствие которых вы обнаруживаете в дереве рендеринга текущего экземпляра.

Возвращает

Boolean: соответствуют ли текущие узлы в дереве рендеринга узлам, переданным в качестве аргумента.

Пример

const wrapper = shallow((
  <div>
    <div data-foo="foo" data-bar="bar">Hello</div>
  </div>
));

expect(wrapper.contains(<div data-foo="foo" data-bar="bar">Hello</div>)).to.equal(true);

expect(wrapper.contains(<div data-foo="foo">Hello</div>)).to.equal(false);
expect(wrapper.contains(<div data-foo="foo" data-bar="bar" data-baz="baz">Hello</div>)).to.equal(false);
expect(wrapper.contains(<div data-foo="foo" data-bar="Hello">Hello</div>)).to.equal(false);
expect(wrapper.contains(<div data-foo="foo" data-bar="bar" />)).to.equal(false);
const wrapper = shallow((
  <div>
    <span>Hello</span>
    <div>Goodbye</div>
    <span>Again</span>
  </div>
));

expect(wrapper.contains([
  <span>Hello</span>,
  <div>Goodbye</div>,
])).to.equal(true);

expect(wrapper.contains([
  <span>Hello</span>,
  <div>World</div>,
])).to.equal(false);
const calculatedValue = 2 + 2;

const wrapper = shallow((
  <div>
    <div data-foo="foo" data-bar="bar">{calculatedValue}</div>
  </div>
));

expect(wrapper.contains(<div data-foo="foo" data-bar="bar">{4}</div>)).to.equal(true);

Общие ловушки

  • .contains() ожидает ReactElement, а не селектор (как и многие другие методы). Убедитесь, что при вызове используется ReactElement или выражение JSX.
  • Обратите внимание, что этот метод определяет равенство на основе равенства дочерних элементов узла.

© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/contains.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API