grommetMenu
구성 요소를 테스트하려고합니다. 그로멧 Menu
구성 요소는 절대적으로 위 치한 메뉴를 body
의 자식으로 삽입 된 문서의 최상위 수준으로 렌더링합니다. 따라서 래퍼 범위 밖에서 렌더링됩니다. document.body.innerHTML
(jsdom 문서 참조)으로 찾을 수 있지만 효소를 사용하여 상호 작용하고 싶습니다. 어떤 추천?최상위 수준으로 렌더링되는 효소 구성 요소를 테스트하는 방법
내 시험 :
const wrapper = mount(
<MyComponent checkThis={checkThisSpy} />
);
wrapper.find('.spec-menu').simulate('click');
console.log(document.body.innerHTML); // Shows the absolute menu inserted into the body
이 document.body.insertBefore(drop.container, document.body.firstChild);
않습니다 그로밋의 행. https://github.com/grommet/grommet/blob/master/src/js/utils/Drop.js#L197
이 문제를 해결하는 가장 좋은 방법에 대한 지침을 찾고 있습니다. 감사!
그로밋 구성 요소가 렌더링 한 메뉴가 다른 하위 구성 요소입니까? 그 요소가 아니라면 바로 dom 오른쪽에 추가됩니다? 이 경우 내부 HTML 요소가 가짜 문서 요소에 있는지 확인하기 위해 chai-dom과 같은 것을 사용할 수 있다고 생각합니다. http://chaijs.com/plugins/chai-dom/ – therewillbecode