테스트 대역(Test-Double) 테스트를 작성할 때 운영 코드를 대신해 행동하는 행동 대장들 마틴 파울러 문서 중 일부입니다. 더 이상 혼동하지 않게 되길… 용어 Mock 이란 아래 이야기할 것들의 집합입니다. 우리가 예상된 결과를 미리 작성해두는 형태의 프로그램 된 개체들입니다. Dummy: 실제 사용하는 운영 코드가 아니라 테스트를 위해 작성한 코드 Fake: 실제로 작동하는 구현체이지만 운영에 사용하기 적합하지 않음(ex: 인 메모리 디비) Stub: 테스트 작성 시 지정된 호출에 지정된 답을 함 Spy: 호출 시 일부 정보를 기록, 이 정보를 테스트의 말미에 검증 이메일 전송 서비스: 얼마나 많은 메시지가 전송되었는지 회원 가입: 이메일, 비밀번호 저장 etc.
Read More스칼라로 본 Functional Programming(FP) - 3
스칼라로 본 Functional Programming(FP) - 3 Cats와 함께하는 FP (Cats 문서 내용을 토대로 내용을 전개합니다.) Monad Monad extends the Applicative type class with a new function flatten. Flatten takes a value in a nested context (eg. F[F[A]] where F is the context) and “joins” the contexts together so that we have a single context (ie. F[A]). The name flatten should remind you of the functions of the same name on many classes in the standard library.
Read MoreMisunderstanding over the TDD
TDD 오해 - 1 TDD 하는 사람들은 모든 기능을 구현할 때 TDD를(만) 이용해서 구현한다. 많은 분이 이야기하듯 모든 기능에 TDD를 사용할 필요는 없습니다. 물론 가능은 하겠지만, 시간이나 에너지의 낭비가 될 수 있습니다. 예를 들어 데이터베이스에 저장이 잘 되는지 HTTP 호출은 잘 되는지 등 굳이 테스트하지 않아도 되는 부분이 존재하기 마련입니다. 혹은 HTML에서 내가 그리게 될 요소가 잘 그려지는지, 어느 위치에 그려지는지 등은 꼭 TDD를 통해 작성하지 않아도 직접 테스트해 결과를 확인할 수 있고 피드백도 빠르게 받을 수 있습니다.
Read More