Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Gradle
- 이분 탐색
- 완전 탐색
- Zuul
- 달팽이
- 플로이드 와샬
- 다익스트라
- spring cloud
- 구간 트리
- ZuulFilter
- BFS
- 서비스 디스커버리
- Java
- 구현
- 메모이제이션
- Spring Cloud Config
- Logback
- 트리
- 도커
- 스프링 시큐리티
- docker-compose
- 게이트웨이
- 백트래킹
- dp
- 유레카
- 비트마스킹
- 이분 매칭
- 스택
- spring boot
- 주울
Archives
- Today
- Total
Hello, Freakin world!
[채팅앱][클라이언트] IO 단위 테스트 어떻게 할 것인가? 본문
BDD 방식의 테스트도 의미가 없다.
IO 메서드의 기능을 제대로 테스트하기 위해서는 어찌됐든 서버가 필요하다.
선택지는 두 가지다.
1. Mock 서버를 작성하고 다른 스레드에서 실행시킨다.
2. 실제 서버를 켜놓고 테스트를 진행.
1번도 번거롭고, 2번도 구리다.
1번이 번거로운 이유는 클라이언트의 기능 테스트가 점점 늘어날 수록 Mock서버도 커지게 된다는 점때문이다.
비동기 메서드와 테스트 메서드 간에 어떤 예외가 던져질지도 미지수다.
2번은 더 치명적이다. 수동으로 계속 서버를 켜줘야하며, 자동화된 테스트가 불가능하다.
결론 : 1번으로 진행하자... 내가 테스트의 비중을 너무 간과하고 간단하게만 해결하려고 한건지도 모른다.
테스트에 품을 더 들이자.
'Toy Project > 채팅 앱 만들기' 카테고리의 다른 글
[채팅앱][전체] 앱의 전체적인 흐름 ver 1.0 (0) | 2020.02.27 |
---|---|
[채팅앱][클라이언트] ClientChannelManager 단위 테스트 작성하기 (0) | 2020.02.26 |
[채팅앱][서버] EventLoop 스레드 설계 (0) | 2020.02.21 |
[채팅앱][서버] non-blocking IO 다중 연결 서버 아키텍처 (0) | 2020.02.21 |
[채팅앱][클라이언트] 시작하기 - 서버와 연결하기 (0) | 2020.02.21 |
Comments