react-testing-library 를 사용한 리액트 컴포넌트 테스트 react-testing-library Enzyme과 달리 모든 테스트를 DOM 위주로 진행 필요한 기능만 지원해서 가볍다 일관성있고 좋은 관습을 따르는 테스트 코드를 작성할 수 있게 유도해준다. props, state 조회하는 작업을 하지 않음 리팩터링 시 구조, 네이밍 변경 시 기능이 똑같이 작동한다면 테스트가 실패하지 않음 CRA 프로젝트 생성 react-testing-library, jest-dom 설치 jest-dom은 jest 확장, dom관련 matcher를 추가해준다. vscode 사용 시 @types/jest 도 같이 설치 테스트 코드 작성 테스팅 스냅샷 테스팅 ㄴ 렌더링결과와 이전 렌더링 결과의 일치여부(u 키로 ..
TDD의 소개 TDD(Test Driven Development : 테스트 주도 개발) 테스트가 개발을 이끌어나가는 형태의 개발론 테스트 코드 작성, 후 구현 사이클을 반복적으로 돈다. ->실패->성공->리팩터링- 실패 실패하는 테스트 케이스를 먼저 생성 성공 실패하는 테스트 케이스를 통과시키기 위한 통과 코드를 작성 리팩토링 중복 코드등의 코드 개선 테스트 케이스가 성공하는지 확인하기 위해 첫번째 절차인 실패로 돌아가서 테스트 케이스를 작성 TDD 장점 작은 단위로 테스트 케이스를 만들기 때문에 코드의 모듈화가 자연스럽다. 테스트 커버리지가 높아지면 리팩토링, 유지보수가 쉬워진다. 프로젝트 퀄리티가 좋아진다. 협업에 도움이된다. 버그를 줄일 수 있다. 요구사항 충족을 확인하기 쉽다. 원본 https:/..
자바스크립트-테스팅의-기초 유닛테스트 작은단위로 기능을 잘게 조개서 잘 동작하는지 확인 기능 단위 통합테스트 전체적으로 동작이 잘되는지 확인 컴포넌트 상호작용 테스트 도구 종류는 다양하고 여러 목적에 따라 특출난 것들이 있으니 확인 후 선정하면 될 듯 아래는 테스트도구 10개를 소개하는 글이다. http://www.itworld.co.kr/news/128974 원본 글에서는 설정이 간단하고 시작하기 편하다며 Jest를 사용했다. jset와 @types/jest를 npm install한다. -함수를 만들었으면 test함수도 만든다. -test 키워드 대신 it 키워드를 쓴다. -describe를 사용해서 여러 테스트 케이스를 묶는다. 테스트 코드 작성 시의 이점은 리팩토링 이후 코드가 잘 동작하는지 검증하..
clean-code-javascript 변수 의미있고 발음이 쉬운 변수 이해가 필요한 값은 변수로 등록 86400000->MILLISECONDS_IN_A_DAY 변수로 등록 의도를 나타내는 변수 사용 나만 알아볼 수 있는 작명하지말 것 반복문의 n, l, k 등.. 객체 키 값에 중복되는(필요없는) 네이밍 사용 금지 car = { carMake : '' }; 매개변수 기본 값 등록 함수 2개 이하의 인자 값 많아 질 경우 객체로 매개변수 전달하여 명확하게 함수는 하나의 행동만 매개변수를 조건 플래그로 사용하지 말 것 함수명만으로 행동을 알 수 있도록 중복코드, 안쓰는 코드 주의 object는 assign으로 기본 객체를 생성해 처리 사이드 이펙트 주의 전역 변수 주의 수정이 필요할 경우 새로운 변수로 생..