java 3

[JAVA] Test code : 2. Service 통합 테스트 (TestContainers 적용)

Java Test cod : 1. Service 단위 테스트단위 테스트는 DB를 사용하지 않아 빠르다는 장점이 있지만, 실제 DB와 연동 했을 때 로직이 의도와 다르게 동작할 수 있다.이러한 문제점을 해결하기 위해 Spring Boot Test를 진행할 수 있다.Service 통합 테스트실제 스프링 환경에서 진행하는 테스트이며,Service의 통합 테스트는 Service 검증 + Repository 검증 + DB 검증이 동시에 진행할 수 있다.하지만 테스트를 위해선 스프링을 가동하면서 생기는 시간이 추가적으로 발생해 단위 테스트보다 상대적으로 시간이 걸린다. 기본적으로 구조는 다음과 같다.import static org.assertj.core.api.Assertions.assertThat;import ..

[JAVA] Test code : 1. Service 단위 테스트

기존 테스트를 진행한 방식은 직접 HTTP 요청을 보내 확인하는 방식으로 정상 값과 틀린 값을 만들어내서 API 문서 만드는 방식으로 진행했었다. 이에 대해 불편한 점은 다음과 같다.실행 후 의도되지 않은 결과 값이 나온 경우 수정하고 다시 Run을 진행 후 요청을 보내야한다.Application.yml의 설정된 DDL-AUTO값이 CREATE 혹은 CREATE-DROP가 아닌 경우 값이 들어가 매번 요청을 다르게 보내거나 DB에 저장된 값을 지워야한다.실질적으로 내가 원하는 결과값이 맞는지 읽어봐야한다.이러한 불편함을 해결하기 위해 Spring에서 지원하는 JUnit 테스트를 적용 해보았다.JUnitJava에서 가장 널리 사용되는 테스트 프레임 워크로, 어노테이션 기반으로 테스트 코드를 작성하고 실행 ..

[JAVA] 중급 정리

프로그래머스 자바 중급 강의를 정리 한 내용강의링크Object와 오버라이딩Object클래스는 모든 클래스의 최상위 클래스아무것도 상속 받지 않으면 자동으로 Object를 상속Object가 가지고 있는 메소드는 모든 클래스에서 다 사용 할 수 있다는 것을 의미가장 많이 사용되는 메소드 (사용 할때 반드시 오버라이딩 해서 사용해야 함)equals객체가 가진 값을 비교할 때 사용오버라이딩을 해서 객체의 비교 기준을 설정해야함toString객체가 가진 값을 문자열로 반환hashCode객체의 해시코드 값 반환해시코드 값은 객체 별로 서로 다른 값을 가지게 하는 것이 좋음자료구조에서 많이 사용됨public class Student { String name; String number; int birt..