Enzymeのshallowレンダリング


shallow renderingは、コンポーネントを1つのユニットとしてテストし、サブコンポーネントの動作によって直接断言されないことを確認します(Shallow rendering is useful to constrain yourself to testing a component as a unit,and to ensure that your tests aren't indirectly asserting on behavior of child components.)import { shallow } from 'enzyme'; describe('', () => { it('should render three components', () => { const wrapper = shallow(); expect(wrapper.find(Foo)).to.have.length(3); }); it('should render an `.icon-star`', () => { const wrapper = shallow(); expect(wrapper.find('.icon-star')).to.have.length(1); }); it('should render children when passed in', () => { const wrapper = shallow( ); expect(wrapper.contains( )).to.equal(true); }); it('simulates click events', () => { const onButtonClick = sinon.spy(); const wrapper = shallow( ); wrapper.find('button').simulate('click'); expect(onButtonClick.calledOnce).to.equal(true); }); });

shallow(node[, options]) => ShallowWrapper


パラメータ

  • node(ReactElement)レンダーするノード
  • options(オブジェクト[オプション]):
  • options.context:(オブジェクト[オプション]):コンポーネントに渡されるContext
  • 戻る


    ShallowWrapper:これはcheerioの解析オブジェクトです

    API

  • .find(selector)=>ShallowWrapper一致するすべてのノード
  • を見つける
  • .findWhere(predicate)=>ShallowWrapperは、すべてのレンダリングツリーの下で関数内の判断を満たすノード
  • を見つけます.
  • .フィルタ=>ShallowWrapperフィルタ一致ノード
  • .filterWhere(predicate) => ShallowWrapper
  • .contains(nodeOrNodes) => Boolean
  • .containsMatchingElement(node) => Boolean
  • .containsAllMatchingElements(nodes) => Boolean
  • .containsAllMatchingElements(nodes) => Boolean
  • .equals(node) => Boolean
  • .matchesElement(node) => Boolean
  • .hasClass(className) => Boolean
  • .is(selector) => Boolean
  • .isEmpty() => Boolean
  • .not(selector) => ShallowWrapper
  • .children() => ShallowWrapper
  • .childAt(index) => ShallowWrapper
  • .parents() => ShallowWrapper
  • .parent() => ShallowWrapper
  • .closest(selector) => ShallowWrapper
  • .shallow([options]) => ShallowWrapper
  • .render() => CheerioWrapper

  • ここを参照して、一つ一つ列挙しないで、方法とjQuery