본문 바로가기

Java/Junit5

[Spring] JUnit5 기반 기능 구현해보기 - Repository 단위 테스트 사전 준비 서브 도메인 브랜치 생성 후 Entity 생성 Entity와 대응하는 Repository 생성 테스트 환경만의 application-test.yml spring: config: activate: on-profile: test# 테스트 클래스에서 설정 파일을 구분하기 위한 프로필명을 설정 datasource: url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create-drop# 매 실행마다 데이터베이스를 삭제하고 새로 생성하는 설정 properties: hibern.. 2023. 8. 31.
[Spring] JUnit5 기반 기능 구현해보기 - 구조 설계 GitHub - tableMinPark/springboot-auth Contribute to tableMinPark/springboot-auth development by creating an account on GitHub. github.com 기술 스택 및 버전 Java 11 Spring Boot 2.7.10 Mysql 8.0.33 Redis 7.0.8 프로젝트 목표 TDD를 통한 서비스 로직 구현해보기 단위 테스트를 수행하면서 코드의 신뢰도 높혀보기 Spring Security를 적용한 환경에서 단위 테스트 진행해보기 개발과 테스트 환경을 완전히 분리시킨 환경 구축해보기 ControllerAdvice를 통해 예외 처리 및 실패 메시지 응답 코드 처리해보기 단위 테스트를 수행하면서 테스트의 중요성 느.. 2023. 8. 30.
[Spring] JUnit5 Assertions & Assumptions Assertions란? 테스트의 결과 값을 검증하는 역할 Assertions는 테스트가 원하는 결과를 제대로 리턴하는지 또는 에러가 발생하진 않는지 검증하는 역할을 하는 메소드입니다. JUnit4버전과 5버전 사이에 Assertions 차이점은 Java 8의 람다를 사용할 수 있다는 점입니다. 람다를 사용하여 테스트 코드를 작성하면 Functional하게 테스트 코드를 작성하는 것이 가능합니다. Assertions 메소드 메소드명 설명 fail() 무조건 실패 (레거시에 사용하면 좋다.) assertTrue(조건) 조건이 True이면 성공 assertFalse(조건) 조건이 False이면 성공 assertNull(A) A가 Null이면 성공 assertNotNull(A) A가 Null이 아니면 성공 as.. 2023. 8. 30.
[Spring] JUnit5으로 테스트해보기 사전 준비 Spring Boot 2.2 부터는 JUnit5가 기본으로 포함되어 있기 때문에 별도의 설정이 필요 없습니다. 만약 Spring Boot 2.1 이하 버전 또는 Spring Boot를 사용하지 않는 경우에는 의존성 추가를 해줘야 합니다. 1. web.xml (Maven) org.junit.jupiter junit-jupiter-engine 5.5.2 test 2. build.gradle (Gradle) testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2' JUnit5 어노테이션 1. @Test 본 어노테이션은 테스트 메소드를 명시하는 어노테이션입니다. 테스트를 위해서는 필수로 작성되어야 하는 어노테.. 2023. 8. 30.
[Spring] Junit이란? Java에서 단위테스트를 수행하는 테스트 프레임워크 Java 개발자라면 반드시 알고있어야 하는 테스팅 프레임워크 중 하나입니다. XUnit이라는 이름의 유닛 테스트 프레임워크 중 하나로 Java에서는 JUnit, C언어에서는 CUnit으로 불립니다. Intellij를 만든 JetBrain 사에서 조사한 결과 단위 테스트를 필수적으로 생각하는 개발자는 2022년 기준 79%입니다. 2022년 68%, 2021년 에 75%로 점점 증가하는 추세입니다. 이를 통해 개발 단계에서 단위 테스트를 하는 것이 선택 사항이 아니라 필수 사항으로 자리 잡아가는 것을 알 수 있습니다. 그 중 JUnit을 사용하는 개발자는 2021년에는 34% 2022년에는 31%로 점점 줄어들고 있습니다. JUnit 외에 Jest, Py.. 2023. 8. 28.