Dev(6)
-
[Spring/TestCode] WebMvcTest or SpringBootTest(+AutoConfigureMockMvc)
📝 어떤 프로젝트를 맡게 되어 개발을 하게 될 때 테스트 코드를 잘 작성하게 된다면, 운영 환경에서 겪게 될 문제점들 중 많은 부분들을 사전에 방지할 수 있습니다. Spring Boot 프레임워크를 이용한 개발 환경에서, 문득 @SpringBootTest와 @WebMvcTest의 차이점이 궁금하여 글을 작성하게 되었습니다. MoctMvcSpring Boot 프레임워크와 Junit을 이용하여 테스트 코드를 작성할 때, MoctMvc를 이용할 수 있습니다. 여기서 MockMvc는 스프링에서 제공해주는 테스트용 라이브러리입니다! Spring 문서에서는 MoctMvc의 목표를 다음과 같이 소개하고 있는데요 MockMvc aims to provide more complete testing support for..
2025.03.10 -
[Error/H2] Database ".." not found, and IFEXISTS=true, so we cant auto-create it
😭Error H2 Database를 이용하여 test 작업을 하려는데... 아래 그림의 빨간색으로 강조된 부분처럼 Database를 찾을 수 없다는 알림이 발생하였다. 😂원인 1) 실제로 'testcase'라는 데이터베이스를 만든 적이 없다. DataBase가 없다라는 알람이 발생한 건 당연한 게 아닐까?2) 그럼 다음의 'IFEXISTS=true'는 뭘까..? 해당 문구는 데이터베이스가 실제로 있는 경우에만 작동하게끔 하는 설정이다.즉, DataBase가 존재하지 않고, 실제로 있는 경우에만 작동하는 설정이 있다라는 의미!! 따라서 so we cant auto-create it. 즉, 자동으로 'testcase'라는 Database를 생성할 수가 없었던 것이다. 그렇다면 어떻게 이와 같은 에러..
2025.02.23 -
[TestCode/Spring] TestCode에 Lombok 사용하기
Spring Initializr(https://start.spring.io/)에서 스프링 부트 프로젝트를 만들 수 있습니다. 이 때 Lombok 라이브러리를 추가할 수 있습니다. Lombok을 추가하여 만든 프로젝트를 IntelliJ에서 활성화하게 되고 build 해서 잘 사용하다가.. test 코드에서 Lombok을 사용하게 될 때 안되는 경험이 있게 됩니다. 이유는 build.gradle에 test 환경에 lombok을 추가하지 않았기 때문입니다. 좀 더 자세하게 확인하자면, 새로 만든 프로젝트 내 build.gradle을 보게 되면 다음과 같은 화면이 나오는 것을 알 수 있습니다. 저는 Spring Initializr에서 Spring Web과 Lombok 만 추가한 상황이었는데요! 여기서 다음과 ..
2024.03.10 -
[TestCode/Spring] RANDOM_PORT
📝 공부하며 여러 글을 검색하고 정리해서 작성하느라, 틀린 부분이 있을 수 있습니다. 참고해주세요~! TDD 활용한 코드를 작성하는 강의를 보다가... 다음과 같은 코드를 만나게 되었습니다.@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 그래서 문득 궁금한 점이 생겨서 내용들을 정리하게 되었습니다. 1. 왜 랜덤 포트를 사용하는가? - 포트를 하나만 지정해서 사용할 경우, 포트 충돌이 발생할 수 있습니다.- 랜덤 포트를 사용하게 되면, 여러 테스트들을 병렬 수행 가능합니다. 2. 어떻게 랜덤 포트를 사용하는가? 포트 번호를 System.out.println();을 통하여 출력하였습니다! 저는 SpringBoot ..
2024.03.09 -
[TestCode/IntelliJ] show passed / test coverage
📝 IntelliJ에서 test 코드를 실행했을 때, 성공/실패하는 내역들을 더 자세하게 볼 수 있는 방법이 있는지 궁금해졌습니다. 그래서 인터넷에 방법을 찾아 정리해보게 되었습니다!!! 자세한 내용은 references를 참고해주세요! 1. Preferences 설정 변경해주기 2. Show passed 눌러주기 그런데도, 내가 원하는 목록이 나오지 않게 되었다. 또 다른 방법을 찾다가... 3. Test Coverage 확인 4. Modify Run Configuration 1) Modify Run Configuration 2) Modify options 3) Enable branch coverage and test tracking References1. 인텔리제이 성공 테스트 목록 안 뜰 ..
2024.03.09 -
[TestCode] JUnit Test
# Eclipse 기준입니다 xUint은 다양한 언어를 지원하는 단위테스트 프레임워크이며, 함수나 클래스 등의 단위를 테스트할 수 있게 해주는 도구이다. 여기서 JUnit은 Java 언어를 사용하는 개발자들을 위한 테스트 도구이다. JUnit 중 이클립스에서 JUnit4를 이용해 테스트를 하는 방법을 간략하게 소개하려고 한다. 1. 프로젝트에 JUnit 추가하기 2. Test를 위한 @Test (예시) Annotation 사용 3. JUnit Test 4. 성공 또는 실패1) 성공2) 실패
2023.09.13