如何用酶测试一个元素在另一个元素之后?

时间:2019-02-25 17:43:35

标签: reactjs jestjs enzyme

所以我有一个需要测试的div。我需要测试div之后是否有ul。在恩茨梅这可能吗?我正在用酵素和玩笑。

这是有问题的div

    it('nav at bottom when bottom theme is present', () => {
        const wrapper = shallow(
            <div className="tabs tab-icon-dark-bkg-bottom">
                <div className="tab-content transition">
                </div>
                <ul className="scroll nav nav-tabs">
                </ul>
            </div>
        );
        //
        expect(wrapper.????).toBe(true);
    });

1 个答案:

答案 0 :(得分:0)

.find支持CSS选择器,例如element+element选择器

  

用于选择放置在第一个指定元素之后(而不是内部)的元素

.find调用'div + ul'来查找紧跟ul之后的所有div元素:

it('nav at bottom when bottom theme is present', () => {
  const wrapper = shallow(
      <div className="tabs tab-icon-dark-bkg-bottom">
          <div className="tab-content transition">
          </div>
          <ul className="scroll nav nav-tabs">
          </ul>
      </div>
  );
  expect(wrapper.find('div + ul').length).toBe(1);  // SUCCESS
});