- JUnit5 : 자바 테스팅 프레임워크
- AssertJ : 테스트 코드 가독성 라이브러리
테스트 코드 작성 이유
- 코드의 결함을 발견하기 위험
- 코드 리팩토리싱 시 안정성 확보
TDD : Test Driven Development (테스트 주도 개발)
- 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법
BDD : Behavior Driven Development (행위 주도 개발)
- 시나리오 기반으로 테스트 코드 작성
1. 프로젝트 생성
2. AssertJ 설치 (build.gradle)
dependencies {
...
testImplementation 'org.assertj:assertj-core:3.23.1'
}
- 설치 완료 시 External libraries에 확인
3. 테스트 코드 작성 (테스트 폴더 생성)
- 테스트코드 작성 시에는 일반 패키지와 구조 맞춰주는것이 좋음
- 테스트코드 작성 시에는 경계 부분 테스트 (예를 들어 비밀번호 길이가 4~12자 가능이라면 3자랑 13자 모두 테스트)
...
public class PasswordValidatorTest {
@DisplayName("비밀번호가 최소 8자 이상, 12자 이하면 예외가 발생하지 않는다.")
@Test
void validatePasswordTest() {
assertThatCode(() -> PasswordValidator.validate("serverwizard"))
.doesNotThrowAnyException();
}
@DisplayName("비밀번호가 길이 조건에 맞지 않는 경우 에러가 발생한다.")
@ParameterizedTest
@ValueSource(strings = {"aabbccd","aabbccddeeffg"})
void validatePasswordTest2(String password) {
assertThatCode(() -> PasswordValidator.validate(password))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("비밀번호는 최소 8자 이상 12자 이하여야 한다.");
}
}
[JAVA Spring] JUnit5 Intelij 테스트 폴더 생성 (0) | 2022.11.01 |
---|---|
[Apache Tomcat] startup.bat 한글깨짐 문제 해결 (0) | 2022.11.01 |
[JAVA Spring] MVC 환경 구축 (0) | 2022.11.01 |
댓글 영역