325
15
장
이벤트 기반 마이크로서비스 테스트
15.4
스키마 진화와 호환성 테스트
이벤트 스트림의 스키마 진화 규칙에 따라 모든 출력 스키마가 그 이전의 스키마와 호환되게
하려면 (
3
.
1
절의 ‘완전한 스키마 진화’ 참고) 코드 제출
code
submission
의 한 과정으로 스키마 레지
스트리에서 스키마를 가져와 진화 규칙에 부합하는지 체크하면 됩니다. 스키마 생성 도구를 사
용해 컴파일 타임에 코드에 정의된 클래스나 구조체에서 스키마를 자동생성하면 이전 스키마
버전과 비교 가능한, 프로그램으로 생성된 스키마가 만들어지는 애플리케이션도 개발할 수 있
습니다.
15.5
이벤트 기반 마이크로서비스의 통합 테스트
마이크로서비스 통합 테스트는 프로덕션 환경을 로컬화한 레플리카에서 수행하는 로컬 통합
테스트
local
integration
test
와 로컬 시스템 외부 환경에서 마이크로서비스를 실행하는 원격 통합 테스
트
remote
integration
test
두 가지가 있습니다. 이 둘을 조합한 하이브리드 형태로, 마이크로서비스의
특정 부분과 그 테스트 환경을 따로 호스팅해서 로컬에서 실행하고 다른 부분은 원격으로 실행
하는 방법도 있습니다. 방법마다 일장일단이 있고 모든 경우의 수를 따져보는 것은 기술적으로
불가능하므로 여기서는 주요한 두 가지 사례만 살펴보겠습니다.
이 장의 나머지 부분을 읽으면서 다음 질문을 꼭 스스로에게 던져보시기 바랍니다.
●
통합 테스트를 해서 무엇을 얻고자 하는가? ‘이게 실행은 되나?’ 정도의 단순한 목적인가?