링크드인을 통해 소개드리는 내용입니다. 서론 테스트 필요성은 레거시가 더 높다. 우리가 생각하는 레거시 코드의 여러 특징들에는 "테스트 없음" 또는 테스트하기 어려운 구조 와 같은 부분들이 있습니다. 실제로 레거시 코드에 테스트 추가는 레거시 코드를 다룰 때 부딪치는 큰 도전 중 하나입니다. 레거시 코드를 단위 테스트하는 것은 확실히 어려운 과제입니다. 하지만 실제로 테스트 필요성이 높은 분야 역시 레거시 코드입니다. 프로그램이 예상치 못한 방식으로 작동할 가능성이 높기 때문입니다. 높은 확률로 코드 작성자는 현재 작업자와 컨벤션, 배경지식, 코딩스타일 등에 대한 이해도를 맞추지 않았을 것이니까요. 실제로 현재 저희 팀에서는 (저희가 레거시라 정의한) 레거시 코드에 대한 변경 작업시 충분한 양의 테스트의..
Test
개요 테스트를 짜는데 그럴듯하고 중복이 덜한 랜덤 한국 이름(세자리)와 랜덤 주민등록번호 생성 매번 생각해내는게 여간 번거로운일이 아니다. 그래서... 작성한코드. 스탠다드 라이브러리인 Random 에 붙어서 더 있어보인다. 본 코드 /** * 한국어 이름을 생성하기 위해 무작위의 한국어 세글자 생성한다. * * 예시: 쩤죁걤, 덨뽭햰, 퐀눧흌, 긥쩨푤 등 * * @receiver [Random] 무작위 숫자를 생성하기 위한 인스턴스 * @return 세글자로 이루어진 무작위 한국어 이름 */ fun Random.koreanName(): String { // 한글 음절 범위 내에서 무작위 문자를 생성 return buildString { repeat(3) { append(Random.nextInt(0xA..