React Testing Library와 함께 testing-playground 사용
요소를 대상으로 지정하는 방법을 알아내려고 할 때 React Testing Library를 사용하면 문제가 발생할 수 있습니다.
논리적 옵션은 대상 요소에
data-testid
속성을 추가하는 것일 수 있습니다. 그러나 이 방법에는 몇 가지 단점이 있습니다.React Testing Libraryguiding principles에 따르면,
The more your tests resemble the way your software is used, the more confidence they can give you.
-- Kent C Dodds
우리는 종종 구현 세부 사항을 테스트하는 데 시간을 할애할 수 있습니다. 요소에
data-testid
속성을 사용하는 것은 요소가 존재하는지 테스트하는 것뿐입니다. 테스트할 때 우리의 초점은 사용자에게 있어야 합니다. 예를 들어 사용자가 보는 것 또는 사용자와 상호 작용하는 방법입니다.data-testid
를 사용하지 않고 요소를 대상으로 지정하는 방법을 찾는 것은 어려울 수 있습니다.고맙게도 testing-playground이 있습니다!
테스트 플레이그라운드는 DOM의 시각적 표현을 제공하고 대상 요소에 대한 최상의 쿼리를 찾는 데 도움이 되는 도구입니다.
테스트 내에서 플레이그라운드에 액세스하는 방법
플레이그라운드에 액세스할 수 있는 두 가지 방법이 있습니다.
import { screen } from "@testing-library/react"
it('test it block', () => {
...
screen.logTestingPlaygroundURL();
expect(...)
})
screen.debug()
를 호출합니다. DOM 출력을 복사하여 테스트 플레이그라운드에 직접 붙여넣습니다. 플레이그라운드가 열리면 개발자 도구 'inspect'와 매우 유사한 inspect-tool을 사용하여 플레이그라운드를 탐색할 수 있습니다. 시각적 DOM의 요소를 검사할 때 해당 요소를 선택하면 테스트에 복사할 추천 쿼리가 표시됩니다. 디스플레이는 요소를 쿼리하는 액세스 가능하고 의미론적인 방법에 대한 정보를 제공합니다. 예를 들어 버튼의 액세스 가능한 역할을 사용하여 버튼을 타겟팅할 수 있습니다.
테스트 플레이그라운드는 코드를 편집할 때 직접적인 피드백을 제공합니다. 플레이그라운드는 예를 들어 이름을 추가하여 쿼리를 보다 구체적으로 만드는 방법과 같이 코드 및 쿼리에 대해 수행할 수 있는 개선 사항을 표시합니다. 비특정 test-id를 사용하는 것보다 제안된 쿼리를 사용하는 것이 좋습니다.
테스트 플레이그라운드의 또 다른 유용한 용도는 DOM에 어떤 요소가 표시되는지 확인하는 것입니다. 사용자가 버튼을 클릭한 후 성공 메시지가 표시될 것으로 예상할 수 있습니다. 테스트가 실패하면 플레이그라운드를 디버깅 도구로 사용하여 사용자에게 무엇이 표시되는지 확인할 수 있습니다. 또는 DOM 출력에
screen.debug()
를 사용할 수 있습니다.요약하면 테스팅 플레이그라운드는 React Testing Library 🐸와 함께 사용할 수 있는 훌륭한 도구입니다.
시도해 보고 테스트 기술을 어떻게 향상시킬 수 있는지 확인하십시오.
Reference
이 문제에 관하여(React Testing Library와 함께 testing-playground 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/katieraby/using-testing-playground-with-react-testing-library-26j7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)