Spring boot

Spring Test code 같은 함수 중복시

리콜 2024. 12. 16. 02:03

테스트 코드를 작성하는데 이처럼 serviceImpl 로직에서 같은 함수를 매개변수를 다르게 해서 호출하는 상황이었다.

따라서 두번 코드를 작성했는데 해결이 안되었는데

when(financeService.getAssetSummeryByDateBefore(uid, goal.getDate())).thenReturn(oldDateAssetSum);
when(financeService.getAssetSummeryByDateBefore(uid, any(Timestamp.class))).thenReturn(todayAssetSum);

 

함수 호출 순서에 따라서 결과값을 다르게 해줄 수 있었다. 

when(financeService.getAssetSummeryByDateBefore(eq(uid), any(Date.class)))
        .thenReturn(oldDateAssetSum, todayAssetSum);

 

다음과 같이 thenReturn구문에서의 순서에 따라 함수 호출시 결과 값이 바뀌게 된다.

반응형