반응 테스트 라이브러리 - 빈 div가 있는지 점검하십시오.
컴포넌트를 테스트하고 있는데ItemLength = 1
,render
돌아온다null
.
const { container, debug } = render(<MyComp ItemLength={1} />);
내가 전화했을 때debug()
내 테스트에서, 그것은 a를 보여준다.<div />
컴포넌트가 테스트에서 빈 div를 반환하는지 확인하려면 어떻게 해야 합니까?
갱신하다
이후 사용toBeEmtpy
는 폐지되었습니다.
jest-dom's를 사용할 수 있습니다.
const { container } = render(<MyComp ItemLength={1} />)
expect(container.firstChild).toBeEmpty()
다음은 농담의 기대치를 확장하지 않고 작동해야 합니다.
const { container } = render(<MyComp ItemLength={1} />)
expect(container.firstChild).toBeNull();
업데이트: 2020년 새로운 방식
import { screen } from '@testing-library/react';
...
render(<MyComp ItemLength={1} />);
const child = screen.queryByTestId('data-testid-attribute-value');
expect(child).not.toBeInTheDocument();
.toHaveLength(0)도 jest-dom 확장자 없이 동작합니다.
const wrapper = render(<MyComp ItemLength={1}/>);
expect(wrapper.container.innerHTML).toHaveLength(0);
toBeEmpty
- 경고 던지기, 반드시 사용해야 합니다.toBeEmptyDOMElement
대신
const pageObject = cretePage(<UserResources />, appState);
expect(pageObject.noContent).toBeInTheDocument();
expect(pageObject.results).toBeEmptyDOMElement();
빈 div를 테스트하려고 하므로 테스트하는 방법 중 하나는 노드를 대조하는 것입니다(또 다른 방법은 렌더링된 노드의 수).
getByText(container, (content, element) => element.tagName.toLowerCase() === 'div')
js-dom's를 사용할 수 있습니다.toBeEmptyDOMElement
방법.https://github.com/testing-library/jest-dom#tobeemptydomelement
사용하기 전에toBeEmptyDOMElement
를 인스톨 할 필요가 있습니다.jest-dom
농담도 하고.https://github.com/testing-library/jest-dom#usage
const { container } = render(<MyComp ItemLength={1} />)
expect(container.firstChild).toBeEmptyDOMElement()
주의:toBeEmpty
메서드가 권장되지 않으며 사용할 것을 권장합니다.toBeEmptyDOMElement
이전 답변에서 벗어나기 위해 다음 사항이 작동하며 아마도 다음 항목에 의존하지 않고 좀 더 깔끔할 것입니다.data-testid
또는screen
역할을 확인합니다.
import { render } from "@testing-library/react";
// Components
import { YourComponent } from "<Path>/YourComponent";
describe("YourComponent", () => {
it("component should be an empty element", () => {
const { container } = render(<YourComponent />);
expect(container).toBeEmptyDOMElement();
});
it("component should not be an empty element", () => {
const { container } = render(<YourComponent />);
expect(container).not.toBeEmptyDOMElement();
});
});
언급URL : https://stackoverflow.com/questions/56267336/react-testing-library-check-the-existence-of-empty-div
'programing' 카테고리의 다른 글
WordPress 플러그인의 함수에서 CSV 파일을 다운로드하는 방법은 무엇입니까? (0) | 2023.04.05 |
---|---|
Oracle의 DATIFF 함수 (0) | 2023.04.05 |
글로벌 스코프의 확대는 외부 모듈 또는 주변 모듈 선언에만 직접 중첩할 수 있습니다(2669). (0) | 2023.04.05 |
nginx - 404 permalinks 페이지를 찾을 수 없습니다. (0) | 2023.04.05 |
ApplicationContext를 시작하는 동안 오류가 발생했습니다.자동 구성 보고서를 표시하려면 '디버깅'을 활성화하여 응용 프로그램을 다시 실행하십시오. (0) | 2023.03.31 |