logo

틀이 있다

틀이 있다

Jest 프레임워크란 무엇입니까?

있다 자바스크립트 주로 사용되는 오픈소스 프레임워크 테스트 . Jest는 주로 반응 네이티브 기반 웹 애플리케이션 및 반응과 함께 작업하는 데 사용되며 대부분 단위 테스트를 수행하는 동안 단순성에 중점을 둡니다. 단위 테스트 광범위하고 시간이 많이 걸리며 복잡성을 높이기 때문에 소프트웨어의 프런트 엔드에서 실행될 때 그다지 유용하지 않은 경우가 많습니다. 하지만 jest 프레임워크를 사용하면 쉽게 제거할 수 있습니다. 또한 jest 프레임워크는 프로그래머가 웹 애플리케이션의 브라우저 렌더링이든 모바일 애플리케이션이든 JavaScript를 사용하여 개발된 모든 것을 검증하는 데 도움이 됩니다.

자동화된 브라우저 테스트에서 Jest는 매우 중요한 역할을 합니다. Jest는 현재 존재하는 다른 프레임워크와 비교할 때 가장 유명한 JavaScript 테스트 프레임워크 중 하나입니다. 이와 함께 Jest는 내장된 조롱의 혼합 패키지도 제공합니다. 도서관,어설션 라이브러리 그리고 테스트 러너 . 단순성은 주로 단순함으로 알려져 있으며, 다음과 같은 다양한 JavaScript 라이브러리 프로젝트를 테스트하고 구축하기 위한 고유한 도구입니다. Angular JS, Node JS, Vue JS, 바벨, 그리고 타이프스크립트 .

안드로이드 폰의 아이폰 이모티콘

Jest는 주로 JavaScript 코드베이스의 정확성과 정확성을 보장하도록 설계된 JavaScript 테스트 프레임워크입니다. 이는 우리가 작성한 코드에 대한 결과를 신속하게 제공할 접근하기 쉽고 친숙하며 기능이 풍부한 API(응용 프로그램 인터페이스)로 테스트를 작성하는 기능을 제공합니다.

잘 정의된 문서이며 구성이 거의 필요하지 않으며 요구 사항에 맞게 필요할 때마다 확장할 수 있습니다. Jest를 사용하면 즐겁게 테스트할 수 있습니다.

Jest는 반응 구성 요소를 테스트하는 데 가장 널리 사용되는 것 중 하나입니다. 처음에는 특히 반응 애플리케이션 테스트를 위해 Facebook에서 만들었습니다. 필요한 모든 항목을 하나의 프레임워크에 포함시켜 JavaScript 테스트를 더 쉽고 빠르게 실행할 수 있습니다. 주로 구성 없이 대부분의 JavaScript 프로젝트에서 즉시 작업하는 것을 목표로 합니다.

매우 빠르고 안전합니다. Jest는 고유한 전역 상태를 보장하여 모든 테스트를 병렬로 실행할 수 있습니다. 작업을 더 빠르고 쉽게 만들기 위해 이전에 실패한 테스트를 먼저 실행한 후 긴 테스트 파일을 기반으로 다음 테스트 실행을 재구성합니다.

Jest는 프로그래머가 한 곳에서 사용할 수 있는 훌륭한 툴킷을 가지고 있습니다. 이 툴킷은 매우 잘 문서화되어 있고 적절하게 유지 관리되며 좋은 방식으로 잘 정리되어 있습니다. 또한 프로세스에서 테스트를 실행하여 병렬 방식으로 테스트를 관리함으로써 성능 수준을 극대화하는 데 도움이 됩니다. Jest는 정보 커버리지 기록도 유지하고 있으며, 전체 프로젝트와 테스트되지 않은 다양한 파일에서 코드 커버리지 정보를 수집합니다.

아리안 칸

jest 프레임워크 도구는 많은 인기를 얻었으며 이러한 인기로 인해 JavaScript 백엔드와 프런트엔드 애플리케이션 모두에 Jest가 사용되었습니다. 포함한 다양한 대기업 트위터, 핀터레스트, 인스타그램 등 - 주로 반응 테스트를 위해 Jest를 사용합니다.

Jest 자체는 라이브러리가 아니라 JavaScript입니다. 뼈대 , 일부 경쟁업체처럼 많은 기능을 위해 타사 도구에 의존하지 않습니다. 누구나 Jest를 사용할 수 있으며, 제로 구성 설정으로 인해 번거로움이 없는 부분입니다. 쉽게 설치할 수 있으며 처음부터 첫 번째 테스트를 작성할 수 있습니다.

다양한 모의 함수 API(응용 프로그래밍 인터페이스)의 도움으로 모의 가져오기를 사용하여 모든 텍스트의 쉽게 읽을 수 있는 구문으로 다양한 함수 호출을 관찰할 수 있습니다.

Jest는 단위 테스트에 매우 인기가 높으며 다양한 통합 테스트를 포함하도록 쉽게 확장할 수 있습니다. 다양한 단위 테스트 규모에서 자동화된 테스트는 엔드투엔드 테스트와 매우 반대됩니다. 모바일 또는 웹 애플리케이션의 다양한 측면을 확인하는 소프트웨어 테스트가 너무 많습니다. 각 애플리케이션은 서로 다른 코팅이나 레이어에서 작동하고 고유한 유형의 피드백을 제공합니다.

단위 테스트는 다양한 유형의 소프트웨어 테스트 자동화 테스트 중에서 가장 중요한 것으로 자주 인용됩니다. 단위 테스트는 주로 애플리케이션을 완전히 분리된 작은 부분으로 나누어 애플리케이션을 검증하는 데 사용됩니다. 또한 단위 테스트는 예상보다 더 많은 작업을 제공하도록 보장합니다.

결과적으로 단위 테스트는 일반적으로 다음과 같습니다.

  • 모든 테스트 또는 애플리케이션 기반 프로젝트를 실행하는 것은 매우 빠릅니다.
  • 설정이 다소 쉽고 정교한 구성이 필요하지 않습니다.
  • 프로젝트나 사용자가 개발한 웹 및 모바일 애플리케이션과 관련된 피드백을 매우 정확하게 제공합니다.

따라서 사용자는 일반적으로 완전히 격리된 상태에서 단위와 상호 작용하지 않기 때문에 단위 테스트는 덜 현실적이거나 상상력이 부족합니다.

Jest 프레임워크의 특징

    설정이 쉽습니다 -jest 프레임워크는 모든 시스템에 설치하기가 매우 간단합니다. npm(Node Package Manager) 또는 Yarn이라는 라이브러리를 사용하여 직접 설치할 수 있습니다. npm 명령줄에서 ' - g ' 플래그를 사용하여 jest 모듈을 전역적으로 설치할 수 있습니다. 다양한 npm 테스트를 위한 패키지 파일을 설정하지 않고도 ' - g ' 플래그를 사용하여 jest 명령을 직접 쉽게 사용할 수 있습니다. jest 프레임워크를 사용하는 것은 매우 간단합니다. React-create 앱을 사용하여 React 프로젝트를 생성하려는 경우 이러한 작업을 수행할 필요가 없는 것이 좋습니다. jest 패키지는 여러 모듈로 구성되어 있으며, 여기서 즉시 테스트 작성을 시작할 수 있습니다.성능과 속도 -Jest 프레임워크는 매우 빠릅니다. 시스템 성능도 좋은 경우 모든 테스트 사례를 지연 없이 효율적이고 빠르게 실행합니다. Jest는 테스트가 CPU 제한이 있을 때마다 테스트 실행에서 상당한 시간을 절약할 수 있습니다. Jest가 빠르고 효과적으로 작동하도록 만드는 몇 가지 요소는 다음과 같습니다.
    • 해당 테스트를 먼저 실행하면 시간이 더 걸립니다. 이 요인으로 인해 모든 코어가 최대로 활용됩니다.
    • 병렬화는 이 요소로 인해 모든 테스트가 여러 구성에 대해 동시에 수행됩니다. 병렬 테스트는 여러 구성에 대해 모든 테스트를 동시에 수행할 수 있는 반자동 테스트입니다.
    • 바벨 변환을 포착합니다. 여기서 babel은 자바스크립트의 오픈 소스이자 무료 트랜스 컴파일러입니다.
    모든 테스트의 격리된 작업 -각 jest 테스트는 샌드박스에서 실행되므로 두 테스트가 다른 테스트 작업 사이에 방해가 되지 않거나 다른 테스트 실행에 영향을 미치지 않도록 보장됩니다. 그러나 우리는 모든 테스트가 시스템 병렬로 실행된다는 것을 알고 있습니다. 그러나 격리의 기본 아이디어는 다른 테스트의 작업을 방해할 수 있도록 한 번에 하나씩 실행하는 것을 고려하는 방식으로 각 테스트의 환경을 제공하는 것입니다. 이 속성으로 인해 jest 프레임워크가 더 빠르게 실행됩니다.강력한 Mocking 지원- 이 기능을 알아보기 전에 먼저 mocking이 정확히 무엇인지 이해해야 합니다. 모의는 다양한 테스트 대상을 분리하는 기술입니다. 이러한 분리는 검사하고 제어할 수 있는 객체와 종속성을 교환함으로써 수행됩니다. Jest에서 조롱에 대해 이야기할 때마다 일반적으로 종속성을 모의 함수로 바꾸는 것에 대해 논의합니다. Jest는 모든 유형의 Mocking을 지원합니다. 이는 타이머 조롱, 기능적 조롱 또는 개별 API(응용 프로그래밍 인터페이스) 호출 조롱으로 이어질 수 있습니다.Jest는 TypeScript를 지원합니다.- Jest는 Typescript를 지원합니다. ts-jest 패키지를 사용하여 구현할 수 있습니다. 우리 모두 알고 있듯이 Typescript는 서버 측 실행과 클라이언트 측 실행 모두를 위한 JavaScript 애플리케이션을 개발하는 데 사용됩니다. Typescript는 가장 유리한 기능인 plain javascript를 사용하며, 매우 유명한 javascript의 상위 집합입니다. ts-jest 패키지는 Jest용 소스 맵 지원과 함께 TypeScript 전처리기 역할을 하며 매우 민첩한 커뮤니티도 갖추고 있습니다.스냅샷 테스트 지원 -스냅샷 테스트는 매우 유용합니다. 이를 통해 특정 또는 제공된 구성 요소를 나타내는 문자열을 캡처하여 파일에 저장할 수 있습니다. 스냅샷 테스트는 React Native 및 React 애플리케이션에 이상적이며, 다양한 다른 프레임워크의 시퀀스된 값을 비교하기 위해 스냅샷을 사용할 수 있습니다. 반응 구성 요소의 스냅샷을 캡처하면 구성 요소의 동작을 검증하는 데 큰 도움이 됩니다. UI( 사용자 인터페이스 )를 변경하려면 스냅샷 파일을 업데이트해야 합니다.

jest 프레임워크의 위의 모든 기능과 장점을 통해 Jest는 매우 빠른 테스트 프레임워크이며 시스템에 jest를 설치하고 설정하는 데 매우 편리하고 쉽다는 결론을 내릴 수 있습니다. Facebook에서 개발했으며 Facebook 및 기타 많은 사용자가 모든 반응 애플리케이션과 반응 기반 프로젝트를 테스트하기 위해 적극적으로 사용합니다. 편리하고 자주 사용되는 패키지가 있으며 Typescript를 지원합니다.

모든 테스트 실행을 위한 기본 설정

웹이나 모바일 애플리케이션을 만들 때마다 해당 애플리케이션의 모든 기능과 요소, 그리고 사용자와의 상호 작용 지점을 테스트해야 하며 이는 매우 필수입니다. 웹 애플리케이션은 다양한 모듈과 기능으로 구성되어 있으며, 이는 주로 코드 단위로 명시되며 이러한 코드 단위도 테스트가 필요합니다.

자바 아키텍처

이 상황에서는 일반적으로 두 가지 시나리오가 발생합니다.

  • 레거시 코드 상속, 여기서 레거시 코드는 특정 테스트를 위해 이미 사전 정의된 기존 컴퓨터 소스 코드 또는 기존 코드(기본 코드)를 의미하며 이러한 코드는 이미 테스트되었으며 추가 테스트를 거칠 필요가 없기 때문에 테스트 없이 제공됩니다. .
  • 예상치 못한 방식으로 갑자기 새로운 기능을 구현합니다.

위에서 언급한 두 경우 모두 주어진 함수가 원하는 출력을 생성하는지 확인해야 합니다.

모든 테스트에는 사전 정의된 흐름이 있으며, 흐름을 단계별로 따라가며 흐름이 끝날 때까지 코드를 완전히 테스트합니다.

  1. 처음에는 특정 테스트에 필요한 기능을 가져옵니다.
  2. 필요한 입력을 선택한 기능에 전달합니다.
  3. 함수 실행 후 원하는 출력을 생성하도록 함수 본문을 정의합니다.
  4. 마지막으로 원하는 결과가 나오는지 여부에 따라 기능이 작동하는지 확인하십시오.

Jest 설치 과정

Jest로 첫 번째 테스트 스크립트를 작성하기 전에 필요한 jest 프레임워크의 특정 전제 조건과 설치 프로세스가 있습니다. 이러한 테스트 스크립트는 셀레늄 테스트 자동화 스크립트.

따라서 jest 테스트 스크립트를 실행하려면 특정 테스트 스크립트를 확인하기 위해 미리 정의된 몇 가지 중요한 라이브러리와 패키지를 설치해야 합니다.

    노드 패키지 관리자(npm) 및 NodeJS: NodeJS는 조직 웹사이트의 Windows Installer 바이너리를 사용하거나 npm 관리자를 사용하여 직접 설치할 수 있습니다. node Package Manger는 8 lakhs 이상의 코드 패키지를 제공하는 오픈 소스 소프트웨어 라이브러리입니다. Node Packaging Manager는 일반적으로 웹 기반 또는 모바일 애플리케이션에서 다양한 Node.js 패키지를 업데이트, 설치 또는 제거하는 데 사용되는 명령줄 도구입니다.
    npm 명령을 초기화하고 npm-command line 도구를 탐색하여 최신 버전을 설치하려면 아래 설명된 명령을 쉽게 적용할 수 있습니다.
 $ npm init -y 
    셀레늄 웹 드라이버:실행하거나 실행할 수 있는 웹 프레임워크입니다. 브라우저 간 테스트를 구현합니다. 또한 다양한 테스트 스크립트를 생성하는 데 적합한 프로그래밍 언어를 선택할 수 있습니다. 모바일 또는 웹 기반 애플리케이션 테스트를 자동화하기 위해 Selenium 웹 드라이버를 사용하여 애플리케이션이 예상대로 작동하는지 여부를 확인합니다. Jest 모듈은 루트 디렉터리에 설치됩니다. Selenium 웹 드라이버는 jest 모듈에 의존합니다.
    아래에 언급된 명령줄을 사용하면 최신 버전의 Selenium WebDriver를 다운로드할 수 있습니다.
 $ npm install selenium-webdriver 

아래와 같이 명령줄을 사용하면 npm을 사용하여 jest 모듈을 설치할 수 있습니다.

 $ npm install --save-dev Jest 

테스터는 Java - SDK jest 키워드를 사용하여 명령줄에서 명령을 실행합니다. jest 프레임워크 설치 프로세스를 진행하기 전에 시스템이 이미 Java Development Kit 설치 프로세스를 완료했는지 확인하고 시스템을 JAVA 환경으로 구성해야 합니다. 이는 Jest가 Selenium 테스트 프레임워크이자 Java 자체를 기반으로 구축된 Selenium이기 때문입니다.

윈도우7은 언제 나왔나요?

' -g ' 플래그를 사용하여 jest 모듈을 전역적으로 설치할 수 있으며, npm 명령과 함께 ' -g ' 플래그를 사용할 수도 있습니다.

npm 테스트용 패키지 파일을 설정하지 않고 다양한 Jest 명령어를 직접 사용하려면 ' - g ' 플래그를 사용하면 쉽게 할 수 있습니다.

 $ npm install -g jest 

아래에 언급된 예제를 통해 jest 프레임워크에 대해 더 자세히 이해해 봅시다.

PD 병합

package.json을 사용한 Jest 예제

 package.json { ' name ' : ' jest-test ', ' version ' : ' 1.0.0 ', ' description ' : '', ' main ' : ' main.js ', ' scripts ' : { ' test ' : ' jest -verbose ' }, ' keywords ' : [], ' author ' : ' Name Owner ', ' license ' : ' ISC ', ' devDependencies ' : { ' jest ' : ' ^24.0.0 ' }, ' dependencies ' : { ' axios ' : ' ^0.18.0 ' } } 

테스트 실행에 대한 더 많은 정보를 원하면 -verbose 플래그를 사용하세요. Jest는 기본적으로 기본적인 출력만 생성하기 때문입니다.

특정 순서로 개별 테스트를 일대일로 실행하거나 실행하려면 다음을 사용할 수 있습니다. npx는 테스트 이름 명령.

스크립트:

 ' test ' : ' jest --verbose ./test -directory ' 

따라서 테스터는 지정된 테스트에 대해 특정 테스트 디렉토리의 다양한 테스트를 실행하도록 Jest를 설정할 수 있습니다.

테스트나 프로그램을 실행하기 전에 따라야 할 몇 가지 절차 단계가 있습니다.

  1. 처음에는 모두 코드를 실행해야 합니다.
  2. 이전에 작성한 코드를 평가해 보세요.
  3. 마지막으로 웹 또는 모바일 애플리케이션을 만들기 위한 몇 가지 변형을 포함하여 이러한 코드를 적용하거나 다른 웹사이트를 만들 수 있습니다.