본문 바로가기

JUnit3

TIL 230828 : 테스트코드 3 - Mockito (의존성 있는 Bean객체가 넘나드는 패키지 테스트 실습) 이제 실전이다. Bean객체가 여기저기 넘나들며 주입된 스프링 프로젝트를 실습해보려 한다. +물론 스프링의 동작과정을 뜯어보기 위한 공부도 있지만, 계속 미뤄두고 있고 언젠간.. 돌파해본다. 우선 UserService 적용 Controller 테스트는 뭔가 머리아프다. 일단 Service로 간다. 그 중에서 User회원가입을 테스트 해본다. 문제 : Given - When - Then 작성하다보니.. 생각해보니 signup 메소드는 void 리턴하는 메소드이다. 무슨 값으로 검증을 하지? 회원이 가입되었는지 조회를 해야하나? 그건 Repository 를 조회해야하는 건데 Service단위만 테스트 하고 싶은데. 가짜 객체의 필요성 UserService를 생성하려고 하니, 기존 클래스에서는 주입받아왔던 것.. 2023. 8. 28.
TIL 230825 : 테스트 코드 2 - 의존성 없는 패키지 테스트 실습 +테스트 환경에서 Slf4j 사용 세팅 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' +@SpringBootTest 없어도 동작한다. : 종종 단위테스트 할 때에도 추가되어있던데 뭔지 모르겠다. +지난 시간 실습 (기본 어노테이션, 생명주기, 반복 등) 패키지 가져와서 테스트 실습 테스트 예제 국룰, 계산기 클래스를 간단히 추가해줬다. 의존성이 없는 클래스인 계산기를 테스트해보는 단계. 셋업 메소드로 외부 패키지의 객체 생성하기 매 메소드 실행전 새로운 객체를 생성받게 된다. 궁금하니까 참조값도 같이 보려고 한다. Assertions로 결과 예측해보기 +JUnit5부터 Assert가 .. 2023. 8. 28.
TIL 230824 : 테스트 코드 1 - JUnit이란? 단위테스트 @SpringBootTest 로 통합테스트 @SpringBootTest는 스프링이 동작되게 해주어 통합테스트를 가능하게 해주는 어노테이션이다. 우선, 초기에는 단위테스트에 집중해보기로 한다. JUnit은 단위테스트용 프레임워크다 1주차 강의 내용 중에서 분명히 단위테스트용 프레임워크임을 명시를 해줬다. 스프링 2.2이상부터는 JUnit을 기본으로 사용한다고 한다. 통합테스트는 @SpringBootTest 어노테이션으로 해준다고 생각하고 우선 순서를 넘긴다. FIRST 원칙 단위 테스트를 위한 F.I.R.S.T원칙 어디서 주워들어서 가져와본다. 이후 공부의 방향성을 갖추는 데 도움이 된다. Fast(빠르게) Independent(독립적으로) Repeatable(반복 가능하도록) Self-validating.. 2023. 8. 27.