본문 바로가기

개발/기타7

Mockito verify()에서 파라미터 까지 검증하고 싶은 경우 Junit5 + Mockito를 함께 사용하는 예제를 준비했습니다.배경Mockito 사용 시 특정 메서드가 수행됐는지 확인하기 위해 verify()를 사용하는 경우가 많다.보통 이런 식으로 많이 사용할 것이다.verify(mock).doSomething(any(Person.class)); 이 때 메서드에 전달되는 파라미터 값까지 동일한지 확인하고 싶다면 어떤 방법이 있을까?(any()로 검증하는건 타입만 확인하는 것이라 불안하다.)ArgumentMatcher로 검증하기ArgumentMatcher 를 implements 혹은 익명 객체로 생성하여 파라미터를 검증할 수 있다.verify(list, times(2)).add(argThat(new ArgumentMatcher(){ public boolea.. 2024. 5. 29.
nullable한 값을 반환하는 집계함수 학습 주제 Mysql 집계함수 중 null을 반환하는 것들 학습 동기 팀원들이랑 페어 프로그래밍 중, AVG 키워드가 null을 반환하여 primitive 타입에 바인딩이 되지 않는 문제가 발생했다. 학습 내용 MySql 집계함수 COUNT 데이터 행의 개수를 추출하는 키워드 NULL 이 반환되지 않음 public class Keyboard { // ... @Formula("(SELECT COUNT(1) FROM review r WHERE r.product_id = id)") private int reviewCount; } @Test void COUNT_키워드는_NULL을_반환하지_않는다() { // given Keyboard keyboard = 키보드_저장("키보드1", "이미지 URL"); entit.. 2022. 10. 14.
우아한 테크코스 4기 백엔드 최종 합격 후기 우아한 테크코스 선출 과정은 (1차) 코딩테스트 및 자기소개서 -> 3주간의 프리코스 -> 최종 코딩테스트 로 이루어 집니다. (1차) 코딩테스트 총 7문제이며 시험 시간은 5시간이었다. 어려운 알고리즘 문제는 아니고 대체적으로 구현 문제로 이루어져 있었으며 뒤로 갈수록 난이도가 높아졌다. 1, 2번은 풀이 시간이 각각 20분도 걸리지 않을 정도로 난이도가 쉬운 편이었다. 다만 제출한 코드의 정답 여부를 알려주지 않는 형태로 진행이 되어, 테스트 케이스를 만드는데에 시간을 써야만 했다. 결론적으로 총 7문제중 6문제를 풀고 코딩테스트를 마무리했다. 마지막 문제인 7번을 풀려고 할 때 쯤에 시험 시간이 1시간 밖에 남지 않아서, 이미 풀었던 문제를 검토하는 것이 더 낫겠다고 판단했다. 자기소개서 우아한테크.. 2022. 1. 22.
Ubuntu 서버에 Docker로 스프링부트 Jar 배포 (feat Redis) 제가 노트북을 Mac을 이용하기 때문에 로컬서버는 Mac OS (Apple sillicon) 기준으로 설명합니다. 1. 로컬 서버와 Ubuntu 서버에 docker 설치하기 - Mac에 설치 https://docs.docker.com/desktop/mac/install/ Install Docker Desktop on Mac docs.docker.com - Ubuntu에 설치 https://blog.dalso.org/linux/ubuntu-20-04-lts/13118 Ubuntu 20.04 Docker 설치하기. - 달소씨의 하루 이번에는 Ubuntu 20.04 LTS Server 버전에서 Docker 설치를 한번 진행해보겠습니다. 설치방법은 매번 하던대로라서.. 크게 달라지지않지만 기록용으로 남겨봅니다... 2022. 1. 6.