강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Jong Hee Park님의 프로필 이미지
Jong Hee Park

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

포맷터를 지원하는 컨버전 서비스

강사님 포맷터 사용할때 약간 오타가 있는거 같아서 질문 올립니다.

작성

·

320

0

강의에선요

포맷터 사용할때

Assertions.assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000");

 

이렇게 사용했잖아요. 근데 제 이클립스에선 저렇게 사용하면 테스트 에러가 나서 곰곰히 생각해보다가 

그 밑에 있는 

Assertions.assertThat(conversionService.convert("1,000", Long.class)).isEqualTo(1000L);

 

문자 "1,000"을 1000L로 바꿔주는 코드를 참고해서 이게 

 

반대로 생각해보면 Long형을 파라미터로 넣어줘야 에러가 안나나? 해서

 

Assertions.assertThat(conversionService.convert(1000L, String.class)).isEqualTo("1,000");

 

이렇게 파라미터를 LONG형으로 바꿔주닌까 에러가 안나거든요.

 

이게 일반 int형은 

DefaultFormattingConversionService 여기서 변환을 못시켜주는게 맞나요? 

 

답변 1

0

안녕하세요. Jong Hee Park님, 공식 서포터즈 OMG입니다.

영한님이 제공해주시는 완성된 코드에서도 오류가 발생할까요?

동일한 현상이 발생한다면 이클립스여서 발생할 문제일 것 같아요.

제 개발환경에선 1000이건, 1000L이건 테스트 실패하지 않는 것을 확인하였습니다.




감사합니다.

Jong Hee Park님의 프로필 이미지
Jong Hee Park
질문자

앗.. 서포터즈님 강의 내용을 복기해보다가 

 

// 1-1. 컨버터 등록

// conversionService.addConverter(new StringToIntegerConverter());

// conversionService.addConverter(new IntegerToStringConverter());

conversionService.addConverter(new StringToIpPortConverter());

conversionService.addConverter(new IpPortToStringConverter());

 

얘내둘을 주석처리 하닌까 제대로 동작하네요.... 

WebConfig에 있는 곳만 주석처리해줘서 그런것 같습니다.

서포터즈님 코드를 보닌까 위에 두 코드는 없는거 보고 주석처리 해주고 돌려보닌까 제대로 , 찍어서 비교합니다.

 테스트에서도 주석처리를 해줘야하는데  저곳 둘을 주석처리해주닌까 정상적으로 ,이 찍혀서 비교합니다.

 

답변 감사합니다.

Jong Hee Park님의 프로필 이미지
Jong Hee Park

작성한 질문수

질문하기