Programmer

Controller에서 primitive type과 wrapper type의 변형과 유효성검사

최근에 새로 자바/스프링을 공부하는 친구들에게 질문을 받았는데, 문득 어? 잘 모르겠는데 싶어서 테스트해보았다. 과연 @RequestBody에 null 값을 받게 되었을 때, wrapper type에서는 null로 매핑되겠지만, primitive type에서는 NPE가 발생할까? default value인 0이 매핑될까?

결과를 확인해보니,

primitive type에서는 default value인… 더 보기 »Controller에서 primitive type과 wrapper type의 변형과 유효성검사

Mockito에서 Multi-Stubbing 적용하기

Overview 팀에서 초기부터 Junit5를 적용하다보니, MockitoExtension을 제대로 제공받지(?) 못했다. 그래서 오픈소스로 공개되어 있던 것 중에 하나를 그냥 복사해서 프로젝트내에 class를 두고 사용했다. 그러다가 최근에 SpringBoot에서 Junit5를 지원1 해주는 김에 SpringBoot로 의존성 관리하도록 바꿨다. 그랬더니 자연스럽게 Mockito 버전도 올라가고, MockitoExtension이 제공되고… 더 보기 »Mockito에서 Multi-Stubbing 적용하기

Slack을 활용한 Rss 알림툴 사용하기

Rss Feed는 여전히 필요하다 Rss Feed라고 하는 알림 기법이 한 때 유행을 했었던 적이 있다. 지금은 많이 사라지고, 일부 몇몇 매니아층(특히 개발자들)에서만 많이 사용하는 것 같다. 심지어 많은 폐쇄형 정보들의 경우 Rss Feed 자체를 제공하지 않는 경우도 많다. 하지만 일을… 더 보기 »Slack을 활용한 Rss 알림툴 사용하기

2020 SpringOne 소식

코로나19는 순식간에 우리 일상을 디지털의 세계로 바꿔놓았다. 비디지털의 세계(쇼핑, 교육, 회의)의 변화에 호응하는 것인지, Best Practice를 보여주려는 것인지 세계 최대 규모의 개발 컨퍼런스 중 하나인 SpringOne도 온라인으로 진행하게 된다. 게다가 온라인이라는 장점을 십분발휘해서, All virtual, All free이다. 9월 1일 주간이라고… 더 보기 »2020 SpringOne 소식

Dtos vs Dtoes

List 타입을 네이밍할 때 올드스타일은 아래처럼 했다.

그런데 최근(엄밀히는 최근도 아니… 오래됐…)에는 복수형을 사용하는 추세이다.

그런데!! Dto는? 예를 들어,  MemberDto가 있다고 하면 복수형은? Dtos일까, Dtoes일까? 실제로 현업을 하다보면 두 가지를 혼용해서 쓰게 된다. (그리고 intellij는 spell check로 둘… 더 보기 »Dtos vs Dtoes

Class와 Instance의 차이

객체지향을 처음 공부할 때 항상 나오는 것은 클래스와 객체가 어떤 차이가 있는지 설명하는 것이다. 흔히, 면접때에도 많이 묻는 질문이다. 클래스는 그릇을 만드는 틀이고, 그 틀에서 만들어 낸 것이 객체(인스턴스)이다. 아마 많은 사람들의 기억속에는 마치 How are you? Fine, thank you,… 더 보기 »Class와 Instance의 차이

@SpringBootTest + mockMvc vs @WebMvcTest

테스트를 작성하려고 했더니, 아래와 같은 오류가 발생했다.

처음에는 왜 Bean을 인식하지 못하는지, 해당 Bean의 선언과 Configuration에서 Bean Scan Scope를 확인했는데 모두 정상이었다. 나중에 알게된 사실1 인데, 같이 일하는 사람과 서로 테스트의 방식이 달랐던 것이다. 평상시에 내가 제일 즐겨하는 controller… 더 보기 »@SpringBootTest + mockMvc vs @WebMvcTest

일룸 홈페이지 링크가 이상하다

최근에 가구를 살 일이 있어서 일룸 페이지에 자주 들락거렸는데, 원래는 잘 되던 링크가 오늘따라 이상했다. 혹시나 와이파이 공유기가 해킹됐나 싶어서 깜짝 놀랐는데, 다시 곰곰히 분석해보니 일룸 사이트에 문제가 있는 것 같다.   이벤트 페이지에서 이 조합 구매하러 가기를 클릭하면, 원래는… 더 보기 »일룸 홈페이지 링크가 이상하다

Mockito UnnecessaryStubbingException

그동안에 테스트를 진행할 때, 테스트의 분기와는 관계가 없는 어쩌면 자연스럽게 처리되어야 하는 Stub에 대해서는 @BeforeEach문에 적는 경우가 많았다.

Spring Context를 사용하지 않는 이상, @Autowired된 Bean들은 모두 Mock으로 생성을 해야 되는데, 테스트의 흐름과 관계없이 그냥 자연스럽게 되는 경우 (위의 케이스의… 더 보기 »Mockito UnnecessaryStubbingException