🙋♀️일반 개발 방식은 설계 -> 개발 -> 테스트TDD 개발 방식은 설계 -> 테스트 코드 -> (리팩토링 ->) 개발 -> 리팩토링
TDD란TDD 예: 암호 검사기
테스트 작성 순서작성 순서 예제테스트 목록앞서 구현했던 암호 강도 측정기를 예시를 이어서 진행한다.모든 조건을 충족하는 경우모든 조건을 충족하지 않는 경우chap2에서는 모든 조건을 충족하는 경우를 첫 번째 테스트로 시작했다.위의 첫 번째 테스트를 통과시킨 뒤에 다음
기능 명세와 TDDTDD와 설계 행위기능 명세 구체화기능에 대한 명세는 다양한 형태로 존재한다.어떤 형태가 되든 간에 사용자에게 제공할 기능을 구현하려면 기능을 크게 두 가지로 나누어 생각해 볼 수 있다.예를 들어 로그인 기능을 생각해보면 아래와 같다.입력 : 아이디와
JUnit 5 모듈 구성테스트 메서드 작성주요 단언 메서드라이프사이클지금까지 JUnit이 제공하는 @Test 애노테이션을 이용해서 테스트 메서드를 작성하고 assertEquals() 메서드를 이용해서 값을 비교했다.이외에 추가적으로 몇 가지 더 알아야 JUnit을 잘
상황테스트 코드의 구성 요소외부 상황과 외부 결과기능은 주어진 상황에 따라 다르게 동작한다.파일에서 숫자를 읽어와 숫자의 합을 구한다.한 줄마다 한 개의 숫자를 포함한다.위 기능을 MathUtils.sum() 메서드로 구현한다고 가정하면 아래 코드와 같다.sum() 메
대역 필요성대역을 이용한 테스트대역 종류대역과 개발 속도테스트를 작성하다 보면 외부 요인이 필요한 시점이 있다.외부 요인이 테스트에 관여하는 주요 예는 아래와 같다.테스트 대상에서 파일 시스템을 사용테스트 대상에서 DB로부터 데이터를 조회하거나 데이터를 추가테스트 대상
테스트가 어려운 코드테스트 가능한 설계모든 코드를 테스트할 수 있는 것은 아니다. 개발을 진행하다 보면 테스트하기 어려운 코드를 만나게 된다. 자주 보게 되는 테스트하기 어려운 사례를 살펴보고 뒤이어 이를 어떻게 하면 테스트 가능하게 바꿀 수 있는지 알아본다.결제 대행
테스트 범위통합 테스트 예하나의 기능이 올바르게 작동하려면 컨트롤러, 서비스, 모델과 같은 자바 코드와 프레임워크 설정에 문제가 없어야 할 뿐 아니라 브라우저에서 실행되는 자바스크립트 코드, HTML과 CSS 등이 정상 동작해야 한다. 또한, DB의 테이블도 올바르게