> 웹 프론트엔드 > JS 튜토리얼 > 반응 구성 요소 테스트 안내서

반응 구성 요소 테스트 안내서

Christopher Nolan
풀어 주다: 2025-02-16 10:13:09
원래의
282명이 탐색했습니다.

반응 구성 요소 테스트 안내서 키 테이크 아웃

반응 구성 요소는 객체 구성과 관계로 인해 본질적으로 테스트 가능하며 재사용 가능한 구성 요소를 구축하기 위해 상속에 의존하지 않아 테스트를 더 쉽게 할 수 있습니다. RECT의 얕은 렌더러 유틸리티는 DOM을 필요로하지 않고 단일 구성 요소의 단위 테스트를 허용하여 빠르고 집중된 테스트를 가능하게합니다. REACT의 JSX 구문은 부울 및 콜백과 같은 다양한 JavaScript 유형을 통과시켜 다른 상태에서 구성 요소 테스트를 용이하게합니다. 다른 구성 요소에 얽혀 있거나 의존하는 구성 요소를 테스트하려면 단위 테스트는 구현 세부 사항보다는 구성 요소의 출력 및 상호 작용에 중점을 두어야합니다. Jest 및 Enzyme과 같은 도구는 React 구성 요소를 테스트하는 데 권장됩니다. "얕은 렌더링"및 현실적인 테스트 시나리오를 만들기위한 모의 기능과 같은 유용한 기능을 제공합니다.

React는 JavaScript 개발자 커뮤니티 내에서 제목을 만든 프레임 워크입니다. React는 구성 요소 설계를위한 강력한 구성 프레임 워크를 가지고 있습니다. React 구성 요소는 웹 애플리케이션에서 사용할 수있는 재사용 가능한 코드의 비트입니다. 반응 구성 요소는 DOM에서 단단히 결합되어 있지 않지만 단위 테스트를 얼마나 쉽게 처리합니까? 이 테이크에서는 단위 테스트 반응 구성 요소에 필요한 작업을 살펴 ​​보겠습니다. 구성 요소를 테스트 할 수있는 사고 과정을 보여 드리겠습니다.

명심하십시오. 나는 특별한 종류의 테스트 인 단위 테스트에 대해서만 이야기하고 있습니다. (다양한 종류의 테스트에 대한 자세한 내용은“JavaScript Testing : Unit vs Functional vs Integration Tests”를 읽는 것이 좋습니다.) 단위 테스트를 통해 나는 빠르고 목을 깨는 피드백의 두 가지에 관심이 있습니다. 이를 통해 높은 수준의 자신감과 코드 품질로 변화를 반복 할 수 있습니다. 이를 통해 REACT 구성 요소가 브라우저에서 죽지 않을 것이라는 확신 수준이 높아집니다. 빠른 속도로 좋은 피드백을받을 수있게되면 오늘날의 애자일 소프트웨어 개발 세계에서 유지하고 싶은 경쟁력이 있습니다. 데모의 경우, 확인란을 통해 필터링 할 수있는 그레이트 유인원 목록을 작성해 봅시다. GitHub에서 전체 코드베이스를 찾을 수 있습니다. 간결하게하기 위해 관심있는 코드 샘플 만 표시하겠습니다. 이 기사는 RECT 구성 요소를 사용한 작업 수준의 지식을 가정합니다.
    데모 샘플 코드를 다운로드하여 실행하면 다음과 같은 페이지가 표시됩니다.
  • 테스트 가능한 구성 요소 작성 React에서는 좋은 접근 방식이 구성 요소의 계층 구조로 시작하는 것입니다. 각 개별 구성 요소를 구축 할 때 단일 책임 원칙이 떠 오릅니다. 반응 구성 요소는 객체 구성과 관계를 사용합니다예를 들어, 그레이트 유인원 목록의 경우, 나는이 접근법이있다 : .

    위대한 APE 목록에 데이터가 많은 훌륭한 Ape 행이있는 방법을 살펴보십시오. 반응 구성 요소는이 구성 데이터 모델을 사용하며 테스트 가능합니다.

    반응 구성 요소에서는 상속을 사용하여 재사용 가능한 구성 요소를 구축하지 마십시오. 고전적인 객체 지향 프로그래밍 배경에서 온 경우이를 명심하십시오. 반응 구성 요소는 자녀를 미리 알지 못합니다. 긴 조상 체인에서 내려 오는 테스트 구성 요소는 악몽이 될 수 있습니다.
    FilterableGreatApeList
    |_ GreatApeSearchBar
    |_ GreatApeList
       |_ GreatApeRow
    
    로그인 후 복사
    나는 당신이 스스로 FilterableGreatApelist를 탐색하게 할 것입니다. 여기에는 두 가지 별도의 구성 요소가있는 반응 구성 요소입니다. 함께 제공되는 단위 테스트를 자유롭게 탐색하십시오.

    예를 들어, 테스트 가능한 GreatApesearchbar를 구축하려면 다음과 같이하십시오

    이 구성 요소에는 레이블이있는 확인란이 있고 클릭 이벤트가 전선됩니다. 이 접근법은 이미 당신에게 너무 친숙 할 수 있습니다. 아주 좋은 일입니다.

    반응을 사용하면 테스트 가능한 구성 요소가 상자 밖에서 무료로 제공됩니다. 여기에는 특별한 것이 없습니다 - 이벤트 핸들러, JSX 및 렌더 메소드. 계층의 다음 반응 구성 요소는 greatapelist이며 다음과 같이 보입니다.

    Greateperow 구성 요소가 있고 객체 구성을 사용하는 반응 구성 요소입니다. 이것은 직장에서 React의 가장 강력한 구성 모델입니다. 재사용 가능하면서도 테스트 가능한 구성 요소를 구축 할 때 상속 부족에 주목하십시오. 프로그래밍에서 객체 구성은 데이터 중심 요소를 가능하게하는 설계 패턴입니다. 다른 방법으로 생각하기 위해, Greatapelist에는 많은 큰 대상이 있습니다. UI 구성 요소 간의 관계는 디자인을 유도합니다. 반응 구성 요소는이 사고 방식이 내장되어 있습니다. UI 요소를 보는이 방법은 멋진 단위 테스트를 작성할 수 있습니다. 여기에서 확인란에서 나오는 this.props.showextonly 플래그를 확인하십시오. 이 Showextanly 속성은 GreatApesearchbar의 이벤트 핸들러를 통해 설정됩니다. 단위 테스트의 경우 다른 구성 요소에 의존하는 단위 테스트 부품을 어떻게 반응합니까? 구성 요소가 서로 얽혀있는 것은 어떻습니까? 우리가 곧 테스트를 시작함에 따라 명심해야 할 좋은 질문입니다. 반응 구성 요소는 아직 잠금을 해제 할 수있는 비밀을 가질 수 있습니다 지금은 위대한 원숭이 데이터를 수용하는 Greateperow를 살펴 보겠습니다.

    React 구성 요소의 경우 각 UI 요소를 단일 우려에 레이저 초점으로 분리하는 것이 실용적입니다. 단위 테스트와 관련하여 주요 장점이 있습니다. 이 디자인 패턴을 고수하는 한 단위 테스트를 작성하는 것이 원활하게 찾을 수 있습니다. 테스트 유틸리티 반응 구성 요소를 테스트 할 때 가장 큰 관심사를 요약하겠습니다. 단일 구성 요소를 분리하여 단위 테스트하려면 어떻게해야합니까? 글쎄, 결과적으로, 당신이 그렇게 할 수있는 멋진 유틸리티가 있습니다.

    . React의 얕은 렌더러를 사용하면 구성 요소를 한 레벨 깊이 깊게 렌더링 할 수 있습니다. 이것으로부터, 당신은 렌더 메소드가하는 일에 대한 사실을 주장 할 수 있습니다. 주목할만한 점은 DOM이 필요하지 않다는 것입니다 es6을 사용하면 다음과 같이 사용합니다

    단위 테스트가 빠르게 실행 되려면 구성 요소를 분리하여 테스트하는 방법이 필요합니다. 이렇게하면 단일 문제에 집중하고 테스트하며 다음 문제로 넘어갈 수 있습니다. 이는 솔루션이 커지고 마음대로 리팩터를 리팩터링 할 수 있습니다. 코드에 가까이 머무르고, 빠른 변화를 일으키고, 브라우저에서 작동하게됩니다.

    . 이 접근법의 한 가지 장점은 코드에 대해 더 잘 생각하는 것입니다. 이것은 당면한 문제를 다루는 최상의 솔루션을 생성합니다. 많은 산만 해지지 않을 때는 해방되고 있습니다. 인간의 두뇌는 한 번에 하나 이상의 문제를 다루는 데 끔찍한 일을합니다.

    남은 유일한 질문은,이 작은 유틸리티가 반응 구성 요소로 얼마나 멀리 우리를 데려 갈 수 있습니까?

    모두 FilterableGreatApeList |_ GreatApeSearchBar |_ GreatApeList |_ GreatApeRow 를 함께 넣으십시오 예를 들어 Greatapelist를 살펴보십시오. 해결하려는 주요 관심사는 무엇입니까? 이 구성 요소는 필터를 기반으로 한 위대한 원숭이 목록을 보여줍니다.

    효과적인 단위 테스트는 목록을 전달 하고이 반응 구성 요소가하는 일에 대한 사실을 확인하는 것입니다. 우리는 그것이 깃발을 기준으로 큰 유인원을 필터링하는지 확인하고 싶습니다.

    한 가지 방법은 다음과 같습니다

    Jest를 사용하여 React 구성 요소를 테스트하고 있습니다. 이에 대한 자세한 내용은“Jest를 사용하여 React 구성 요소를 테스트하는 방법”을 확인하십시오. JSX에서 showextantonly = {true}를 살펴보십시오. JSX 구문을 사용하면 상태를 React 구성 요소로 설정할 수 있습니다. 이는 특정 상태가 주어진 테스트 구성 요소를 단위로하는 여러 가지 방법을 열어줍니다. JSX는 기본 JavaScript 유형을 이해하므로 진정한 플래그는 부울로 설정됩니다. 목록을 벗어난 방법으로 GreatApesearchbar는 어떻습니까? 이 이벤트 핸들러가 관심을 가질 수있는 OnChange 속성에 있습니다.

    좋은 단위 테스트 중 하나는 이것을하는 것입니다 :

    이벤트를 처리하고 테스트하려면 동일한 얕은 렌더링 방법을 사용합니다. getRenderOutput 방법은 콜백 함수를 이벤트가있는 구성 요소에 바인딩하는 데 유용합니다. 여기에서 onshowextantonlyInput 속성에 콜백 onchange 함수가 할당됩니다. 보다 사소한 단위 테스트에서 GreatePerow React 구성 요소는 어떻습니까? HTML 태그를 사용하여 훌륭한 APE 정보를 표시합니다. 얕은 렌더러를 사용 하여이 구성 요소를 테스트 할 수 있습니다. 예를 들어 이미지를 렌더링하는지 확인하겠습니다 :

    반응 구성 요소를 사용하면 모든 렌더 방법을 중심으로합니다. 이것은 테스트해야 할 사항을 정확히 아는 것이 다소 직관적입니다. 얕은 렌더러는 노이즈를 제거하면서 단일 구성 요소에 레이저에 초점을 맞출 수 있도록합니다.

    결론 표시된 바와 같이, 반응 구성 요소는 매우 테스트 가능합니다. 구성 요소에 대한 좋은 단위 테스트를 작성하는 것에 대한 변명은 없습니다.

    좋은 점은 JSX가 각 개별 테스트에서 귀하를 대적하지 않고 귀하를 위해 일한다는 것입니다. JSX를 사용하면 부울, 콜백 또는 필요한 모든 것을 통과 할 수 있습니다. 단위 테스트 반응 구성 요소를 스스로 모험 할 때이 점을 명심하십시오.

    . 얕은 렌더러 테스트 유틸리티는 좋은 단위 테스트에 필요한 모든 것을 제공합니다. 그것은 단 한 레벨의 깊이 만 렌더링하고 독립적으로 테스트 할 수 있습니다. 당신은 단위 테스트를 중단 할 수있는 계층 구조의 임의의 아동에 대해 걱정하지 않습니다. JEST 툴링을 사용하면 변경하는 특정 파일에 대해서만 피드백을 제공하는 방법이 마음에 듭니다. 피드백 루프가 단축되고 레이저 초점이 추가됩니다. 힘든 문제를 해결할 때 이것이 얼마나 가치가 있는지 알기를 바랍니다.

    반응 구성 요소 테스트에 대한 자주 묻는 질문 (FAQ) React 구성 요소 테스트를위한 모범 사례는 무엇입니까?

    반응 구성 요소를 테스트하기위한 모범 사례에는 한 번에 하나의 기능을 확인하는 작고 집중된 테스트 작성이 포함됩니다. 이를 통해 문제를 쉽게 식별하고 해결할 수 있습니다. 또한 구현 세부 사항이 아닌 구성 요소의 출력을 테스트하는 것이 중요합니다. 이것은 구성 요소가 어떻게 달성하는지가 아니라 사용자가보고 상호 작용하는 것을 확인하는 것을 의미합니다. 마지막으로, React 구성 요소를 테스트하기 위해 특별히 설계된 Jest 및 Enzyme과 같은 도구를 사용하십시오. 그들은 테스트를보다 효율적이고 효과적으로 만들 수있는“얕은 렌더링”과 같은 유용한 기능을 제공합니다.

    반응 구성 요소 테스트를 위해 Jest를 사용하는 방법

    Jesest는 JavaScript의 인기있는 테스트 프레임 워크입니다. 그리고 특히 React 구성 요소를 테스트하는 데 특히 적합합니다. Jest를 사용하려면 먼저 NPM 또는 원사를 사용하여 프로젝트에 설치해야합니다. 그런 다음 Jest가 제공 한 설명 및 IT 기능을 사용하여 테스트를 작성할 수 있습니다. IT 함수 내부에서는 특정 조건이 충족되었다고 주장하는 데 사용할 수 있습니다. Jest는 또한 모의 함수를 만드는 모의 함수를 제공합니다. 이는 구성 요소가 응용 프로그램의 다른 부분과 상호 작용하는 방식을 테스트하는 데 유용 할 수 있습니다.

    반응 구성 요소를 테스트 할 때 효소의 역할은 무엇입니까?

    효소는 반응을위한 JavaScript 테스트 유틸리티로 구성 요소를보다 쉽게 ​​테스트 할 수 있습니다. 자식 구성 요소없이 구성 요소 자체 만 렌더링하는 "얕은 렌더링"을 포함하여 구성 요소를 다양한 방식으로 렌더링하는 기능을 제공합니다. 이를 통해 테스트를보다 빠르고 집중할 수 있습니다. 효소는 또한 버튼을 클릭하는 것과 같은 사용자 상호 작용을 시뮬레이션하고 구성 요소의 출력을 검사하는 기능을 제공합니다. React 구성 요소에서 사용자 상호 작용을 테스트하려면 어떻게해야합니까?

    React 구성 요소에서 사용자 상호 작용 테스트에는 사용자의 작업을 시뮬레이션하고 구성 요소가 올바르게 응답하는지 확인해야합니다. 이것은 효소가 제공 한 시뮬레이션 기능을 사용하여 수행 할 수 있습니다. 예를 들어 버튼의 클릭 이벤트를 시뮬레이션 한 다음 구성 요소의 상태 또는 소품이 예상대로 변경되었는지 확인할 수 있습니다. 예를 들어, 구성 요소가 사용자가 입력을 올바르게 처리하는 것을 테스트하는 것도 중요합니다. 예를 들어, 사용자가 제출 버튼을 클릭 할 때 양식이 올바른 데이터를 제출하는지 확인하여

    반응 구성 요소를 어떻게 보장 할 수 있는지 확인하십시오. 액세스 가능?

    React 구성 요소의 접근성을 보장하려면 Semantic HTML 사용, 이미지에 대한 대체 텍스트 제공 및 구성 요소를 키보드와 함께 사용할 수 있도록 액세스 가능한 웹 디자인에 대한 모범 사례를 따릅니다. 접근성을 테스트하기위한 JEST 플러그인 인 Jest-Axe와 같은 도구를 사용하여 일반적인 접근성 문제에 대한 구성 요소를 자동으로 확인할 수도 있습니다. 또한 스크린 리더 및 기타 보조 기술로 구성 요소를 테스트하여 진정으로 액세스 할 수 있도록하는 것이 중요합니다.

    반응 구성 요소의 성능을 어떻게 테스트 할 수 있습니까? 성능을 테스트합니다. React 구성 요소는 React Profiler를 사용하여 수행 할 수 있으며 RECT 응용 프로그램이 얼마나 자주 렌더링되는지와 렌더링의 "비용"을 측정하는 도구입니다. 이를 통해 너무 자주 렌더링하거나 렌더링하는 데 너무 오래 걸리는 구성 요소를 식별하는 데 도움이되므로 응용 프로그램 속도를 늦출 수 있습니다. Chrome DevTools Performance 패널과 같은 브라우저 도구를 사용하여 네트워크 요청 및 JavaScript 실행 시간과 같은 요소를 포함하여 응용 프로그램의 전반적인 성능을 측정 할 수 있습니다. 다른 소품으로 React 구성 요소를 어떻게 테스트 할 수 있습니까?

    다른 소품으로 React 구성 요소를 테스트하는 것은 효소가 제공 한 SetProps 함수를 사용하여 수행 할 수 있습니다. 이를 통해 구성 요소가 렌더링 된 후 구성 요소의 소품을 변경 한 다음 올바르게 응답하는지 확인할 수 있습니다. 예를 들어, 다른 텍스트 소품이 주어지면 구성 요소가 올바른 텍스트를 표시하거나 선택적 소품을 올바르게 처리하는 것을 테스트 할 수 있습니다.

    다른 브라우저에서 반응 구성 요소를 어떻게 테스트 할 수 있습니까?

    다른 브라우저에서 React 구성 요소를 테스트하는 것은 Browserstack 또는 Sauce Labs와 같은 도구를 사용하여 수행 할 수 있습니다. 이 도구를 사용하면 실제 장치의 실제 브라우저에서 테스트를 실행할 수 있으므로 브라우저 별 버그를 잡을 수 있습니다. 자동화 된 테스트가 시각적 문제 나 유용성 문제를 놓칠 수 있으므로 다른 브라우저에서 구성 요소를 수동으로 테스트하는 것도 중요합니다.

    . 다른 화면 크기로 React 구성 요소를 테스트하려면 어떻게 될 수 있습니까?

    다른 화면 크기로 React 구성 요소를 테스트하는 것은 브라우저의 개발자 도구에서 응답 형 디자인 모드를 사용하여 수행 할 수 있습니다. 이를 통해 다양한 화면 크기와 해상도를 시뮬레이션하고 구성 요소가 올바르게 보이고 작동하는지 확인할 수 있습니다. 또한 Browserstack 또는 Sauce Labs와 같은 도구를 사용하여 다른 화면 크기의 실제 장치에서 테스트를 실행할 수 있습니다.

    다른 사용자 역할로 React 구성 요소를 테스트 할 수 있습니까?

    React 테스트 사용자 역할이 다른 구성 요소에는 다른 유형의 사용자의 동작을 시뮬레이션하고 구성 요소가 올바르게 응답하는지 확인해야합니다. 예를 들어, 특정 기능이 로그인 사용자에게만 사용할 수 있거나 관리자 사용자가 일반 사용자와 다른 인터페이스를 볼 수 있음을 테스트 할 수 있습니다. 이것은 효소가 제공 한 시뮬레이션 기능을 사용하여 수행 할 수 있으며 다른 사용자 역할을 사용하기 위해 테스트를 설정하여 수행 할 수 있습니다.

위 내용은 반응 구성 요소 테스트 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿