테스트
비동기 스트림 테스트
라이브 방송 앱의 채팅 ViewModel이 AsyncSequence로 들어오는 메시지를 구독해 목록에 붙입니다. 테스트에서 이 메시지 스트림을 어떻게 제어하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
라이브 방송 앱의 채팅 ViewModel이 AsyncSequence로 들어오는 메시지를 구독해 목록에 붙입니다. 테스트에서 이 메시지 스트림을 어떻게 제어하겠습니까?
메시지 소스를 프로토콜로 받게 하고 테스트에서는 AsyncStream.makeStream()으로 만든 스트림을 넘겨, continuation을 테스트가 쥐고 있다가 원하는 시점에 yield와 finish를 불러 ViewModel 목록이 어떻게 바뀌는지 확인한다.