반응형

전체 글

반응형
멘질멘질] 2023 졸업 프로젝트

JPA Repository Test] @SpringBootTest vs @DataJpaTest

고민 내용 Spring Data JPA 기반의 Repository를 테스트 할 때, @SpringBootTest 와 @DataJpaTest 중 어떤 어노테이션을 사용하는 것이 좋을까? 소스 코드: ChatBotRoomRepositoryTest 시간 차이를 보다 자세히 확인하기 위해, BeforeEach에서 9996개의 ChatBotRoom 데이터를 DB에 생성한 다음, 테스트를 수행하였다. SpringBootTest 어노테이션을 사용하는 경우, @SpringBootTest와 @Transactional를 사용하고, @AutoConfigureTestDatabase와 @DataJpaTest를 주석 처리한다. @AutoConfigureTestDatabase(replace = AutoConfigureTestDat..

MacOS

MacOS] python3 설치 및 PyCharm 버전 변경

기존에 MacOS는 Python3.9.6 버전이 자동으로 설치되어 있었으며, 아래 메시지로 확인 가능하다 python -V # 이 메시지는 정상 응답이 출력되지 않음 python3 -version # Python 3.9.6 그런데 PyCharm에서 PyGitHub, request lib을 사용하려 하였으나, 아래와 같은 오류가 발생하였다. ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3. https://github.com/urllib3/urllib3/issues/2168 링크를 참고하니, Python 버전을 3.10 이상을 사용해야 하는 것으로 보였..

학부연구생

Ubuntu] Screen 명령어

screen이란 Linux에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미한다. 즉, 백그라운드로 동작하는 가상 터미널이다. 장점: 스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아간다. 명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어갈 수 있다. $ screen --version 명령어를 통해 version 확인 및 설치 여부를 조회할 수 있다. (설치되어 있지 않다면 'screen'명령을 쳤을 때 Command not found 라고 뜬다고 함) 1. Screen 사용 명령어 # 기본 사용법 $ screen # screen 진입(이름은 무작위로 생성됨) # screen 만들기 $ scree..

RDB

MySQL] 유용한 문법 정리(추가)

reference link: w3schools-MySQL 1. CREATE TABLE Table1과 같은 구조의 table 만들기(data는 생성되지 않는다 ) CREATE TABLE [table_name] LIKE Table1; Table1과 같은 구조, 같은 데이터의 table 만들기 Precautions: CREATE ~ AS를 사용할 때, 데이터 구조는 동일하게 저장되지만, index(PRIMARY KEY, FOREIGN KEY 등)의 정보는 저장되지 않는다. CREATE TABLE [table_name] AS SELECT * FROM Table1; 2. TRUNCATE verses DELETE FROM TRUNCATE 전체 데이터를 한 번에 삭제하는 방식 Auto Increment가 1부터 시작..

Spring Boot/Test Code

Junit5] WebMvcTest

@WebMvcTest 어노테이션을 사용한 테스트 코드 작성 1. UserControllerTest @ExtendWith(SpringExtension.class) @WebMvcTest(controllers = UserController.class) class UserControllerTest { @Autowired private MockMvc mvc; @MockBean private UserService userService; @Test @DisplayName("닉네임 검증; 공백 체크") public void testNicknameDuplicateBlank() throws Exception { mvc.perform(get("/users/check-nickname") .queryParam("nickname..

Spring Boot/Test Code

Junit5] 테스트 코드 작성 원칙 정리

1. Test class, test methods, and lifecycle methods are not required to be public, but they must not be private. IntelliJ에서 test class를 만들면 아래와 같은 양식으로 만들어진다. 하지만 Junit5 부터는 class 명칭 앞에 public 을 생략해도 상관없다. Junit5 Document 2.3에서, 기술적인 문제가 없다면 test class, test methods, and lifecycle methods에 public 을 붙이는 것을 권장하지 않는다고 작성되어 있다. class SessionManagerTest { } 2. JpaRepository에서 테스트 코드를 어느 정도까지 작성해야 하는가?..

나른한 찰리
Moojun's Storage