➊ 일반적인 JUnit 테스트처럼 인수 테스트를 시작한다.
➋ 테스트 케이스 이름이 사용자 스토리 전체나 일부를 반영한다.
➌ 애플리케이션을 시작하고 몇 가지 고정된 데이터(여기서는 사용자와 목록)를 설정해야 한다.
➍ 이 테스트의 핵심은 사용자가 애플리케이션에서 목록을 가져오는 것을 시뮬레이션하는 것이다. 아직 ToDoList 타입을 정의하지 않았으므로 이 테스트 코드는 컴파일되지 않는다.
➎ 여기에서 목록 이름이 예상한 것과 같은지 확인한다.
➏ 이것이 서버를 질의하는 방법이다. 참고로 Http4k에서와 마찬가지로 HTTP 클라이언트와 서버는 똑같은 HttpHandler 함수 인터페이스를 구현한다. HTML 파싱에 대해서는 나중에 다루겠다.
➐ 이렇게 서버를 시작하고, 현재 메인 함수에 있는 로직을 Zettai라는 타입으로 추출할 계획이다.
테스트를 작성했지만 컴파일조차 되지 않는다! 이게 어떻게 도움이 될까? 테스트를 작성하는 것만으로도 애플리케이션 디자인에 대해 좋은 방향을 잡을 수 있다. 하지만 책만 읽어서는 이 점을 완전히 이해할 수 없다. 직접 해봐야 한다.