반응 및 Jest를 사용한 테스트 주도 개발
우리가 사용할 스택은 다음과 같습니다.
linter는 일련의 규칙을 사용하여 코드를 감지하는 프로그램입니다.
문법적으로 타당하고 실수를 포함할 가능성이 있습니다.
The core tenet of the software development methodology known as test-driven development (TDD) is to write the tests first.
TDD changes the coding experience by giving you rapid feedback:
with your tests already in place, you can quickly find out what works and what doesn’t. That gives you the freedom to experiment with different approaches.
반응 중인 테스트
Create React App으로 반응 프로젝트를 시작하는 경우. 바로 사용할 수 있으며 Jest와 함께 배송됩니다!
Jest를 테스트 프레임워크로 사용하면 번개처럼 빠른 피드백 루프를 만들 수 있습니다.
테스트 만들기:
기본 테스트 구성:
❶ describe()는 테스트 그룹인 테스트 스위트를 선언합니다. 첫 번째 인수
는 이름이고 두 번째는 하나 이상의 테스트를 포함하는 함수입니다.
❷ it()은 테스트를 선언합니다. 첫 번째 인수는 이름이고 두 번째 인수는 실제 테스트 코드가 있는 함수입니다.
❸ expect()는 어설션을 생성합니다. 단일 인수, 일반적으로 값을 사용합니다.
테스트 중인 코드에 의해 생성되고 일치 함수 집합을 노출하는 개체를 반환합니다.
+
toBe()는 테스트 중인 값(expect() 인수)과 예상 값(자체 인수) 간에 엄격한 동등성 테스트를 수행하는 매처입니다.
또는
깊은 개체 동등성을 확인하는 toEqual() 어설션 메서드
다음과 같이 구현되었습니다.
//Palindromes.test.js
import Palindromes from "./Palindromes";
describe("palindromes()", () => {
it("correctly identifies one-word palindromes", () => {
expect(Palindromes("madam")).toEqual(["madam"]);
});
});
//Palindromes.js
export default function Palindromes(str) {
return [str];
}
테스트를 실행하려면 명령 프롬프트에 다음 명령줄을 작성합니다.
npm run test
핵심 내용에 대해 알아보자
더 예뻐
코드 서식 패키지용 명령
npm i -D prettier
npm i -D eslint-config-prettier
생성에 필요한 파일
.prettierignore -> 여기에 무시해야 하는 파일을 넣습니다.
.prettierrc.json -> 서식 지정 규칙
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": false,
"useTabs": true,
"jsxSingleQuote": false,
"bracketSpacing": true,
"jsxBracketSameLine": true,
"arrowParens": "always",
"htmlWhitespaceSensitivity": "css",
"printWidth": 120,
"quoteProps": "consistent"
}
사전 커밋 후크
사전 커밋 후크는 다음에 사용됩니다.
더 예쁘고, 허스키하고 보푸라기 단계에 대한 사전 커밋 후크 설치
npx mrm lint-staged
npm run prettier
를 실행하여 이제 파일을 수동으로 예쁘게 꾸밀 수 있습니다.허스키 폴더 설치
npx husky install
테스트를 위해 사전 커밋 후크를 설치하고
npx husky add .husky/pre-commit "npm test"
교차 환경 설치
npm i -D cross-env
package.json:
"test": "cross-env CI=true react-scripts test"
그게 다야!
이제 자동화된 테스트 및 서식 지정 작업 영역을 성공적으로 만들었습니다. 이 작업 영역은 우리가 시도하고 커밋할 때마다 실행됩니다.
(테스트를 통과한 경우에만 커밋됩니다).
이렇게 하면 읽을 수 없는 코드와 버그가 있는 커밋 코드가 제거됩니다.
Trevor Burnham의 인용문을 남기겠습니다.
In the long term, the habit of putting tests first helps to form a healthy mindset for problem solving, one in which failing code evokes curiosity instead of despair.
자세한 내용을 보려면 다음 사이트를 방문하십시오.
Husky Webpage
Prettier Webpage
Jest Webpage
TDD Book by Trevor Burnham
Reference
이 문제에 관하여(반응 및 Jest를 사용한 테스트 주도 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/madshaerup/test-driven-development-with-react-1m5o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)