2019년 12월 6일 금요일

20191205 Java11 마이그레이션 2일차


어제에 이이서 진행하는 프로젝트의 SDK 8에서 11으로 마이그레이션 하는 작업을 진행중이다.

어제 실패하는 testcase 수정하기 시작했고 하나씩 수정을 진행하고 있다.

오늘 수정한 첫번째 케이스는 내부적으로 사용하는 LanguageUtils라는 클래스의 Unittest인데, 자바의 Locale 활용해서 en-US 등의 문자열을 로케일 정보 등으로 변환하는 작업을 돕는 역할을 하는 클래스이다. 사용할 locale 문자열이 표준에 맞지 않은 경우들이 있기 때문에 이를 해결하는 휴리스틱한 코드들이 있고 이에 대한 테스트 케이스도 존재하는데 자바의 버전이 올라가면서 Locale 클래스에서 지원하는 언어나 국가들이 많아지게 되어 없는 Locale 이라고 생각하고 테스트 케이스를 만들었던 것들이 실패하게 것이다.

예를 들어 ka라는 언어 코드를 가진 Locale 8버전에는 없었으나 11버전에는 추가되어서 없을 경우를 가정한 테스트가 깨지는 등의 문제가 있었다.

테스트케이스 수정은 간단하게 진행할 있었다. 존재하지 않는 코드들을 찾아서 원래의 의도에 맞게 테스트를 통과할 있도록 수정했다.


나머지 테스트케이스들에는 문제가 없었기 때문에 여기까지 작업한 내용을 기반으로 Pull Request 만들어서 등록했다. 앞으로 필요한 작업은 베타 서버 한대에 배포해서 동작을 장기적으로 확인하는 일과 다른 모듈들도 제대로 동작하는지 검증하는 일이다.

댓글 없음:

댓글 쓰기

Man of Month를 마치며

벌써 2020년 1월 14일이다. 19년의 마지막 달에 Man of Month라는 팀의 제도를 시작한다고 했었는데, 12월이 지나고 그 다음 달도 거의 절반이 흐른 것이다. MoM을 시작하면서 하겠다고 계획했던 것들도 실제 한 것들과 비교해보니...