본문 바로가기

개발/기타6

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.
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.
[erwin] forward engineering Forward engineering 이란? "Forward engineering is the process of building from a high-level model or concept to build in complexities and lower-level details." "복잡한 하위 레벨의 디테일을 구축하기 위해 상위 모델을 만드는 작업" erwin의 경우로 생각해보면, erwin에서 생성한 Entity들을 sql ddl 문으로 변경시키는 것이다. Reverse engineering 이란? "Forward engineering is thus related to the term 'reverse engineering,’ where there is an effort to build backward.. 2021. 7. 2.