springboot testcode 3

스프링부트 통합 테스트 코드 작성법 및 예시( TestRestTemplate , MockMVC , WebTestClient 차이점 및 선택 방법) given-when-then

당연하겠지만, 모든 코드는 작성 후 의도에 맞게 정상 작동하는지 확인하는 과정을 거쳐야만 한다.정말 간단한 코드라도 예상치 못 한 부분에서 문제가 발생할 수 있기에 이를 확인해주는 것이 정말 중요한데Swagger 나, Postman 등을 활용하여 직접 값을 입력해 확인해보는 과정을 거쳐도 되지만 가능하면 테스트 코드를 통해 확인하는 것이 효율적이다.테스트 코드를 작성하기 전, 어떠한 환경에서 어떠한 목적을 갖고 이를 작성할지 정해야만 한다.기본적으로 코드의 전체적인 테스트를 한다는 목적은 변하지 않지만, 예를 들어빠른 시간 내에 최소한의 테스트만을 위해 , 시간이 소요되더라도 완벽한 테스트를 위해 등상세한 목적에 맞춰 작성법이 달라지기에 이를 확실히 하고 작성을 시작하면 되겠다.이번 통합 테스트는,하나의..

Springboot 2025.01.28

fixtureMonkey, JakartaValidationPlugin 제약 조건 설정

공식 문서https://naver.github.io/fixture-monkey/v1-0-0-kor/docs/plugins/jakarta-validation-plugin/features/fixtureMonkey를 사용하여 실제 테스트 코드를 작성하다보면 무조건 한 번씩 발생하는 오류 중 하나가 필드별 제약 조건이다.분명 닉네임 값은 필수 값이며, 최대 20자 까지 밖에 입력이 되지 않아야하지만, fixtureMonkey는 이를 무시하고 null 값을 반환하거나 최대 자리수를 초과하는 값을 생성하곤 한다.이러한 문제는 JakartaValidationPlugin 를 사용하여 해결할 수 있다.사용 가능한 어노테이션은 해당 글 하단에 작성해두었다. 공식 문서에서 가져온 내용이니 시간이 여유롭다면 공식 문서를 참고..

Springboot 2024.10.06

fixtureMonkey 객체 값 자동 생성 / springboot 테스트 코드

공식 문서https://naver.github.io/fixture-monkey/v1-0-0-kor/테스트 코드를 작성하다보면 객체, 보통 엔티티에 무작위한 값을 넣고 이를 테스트해야하는 경우가 많다.다만 이러한 과정을 위해 시간을 소요하고 동일한 과정을 반복하는 것이 번거롭기에 이를 간단하게 해결 하기 위해 나온 것이 Fixture Monkey이다.사용법은 정말 간단하다.의존성// GradletestRuntimeOnly("org.junit.platform:junit-platform-launcher:{version}")testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:1.0.23")// Maven com.navercorp.f..

Springboot 2024.10.04