URLSession 전체 콜백 서명에 맞는 메서드로 자신 만의 클래스를 정의했습니다. 지. (Data?, Response?, Error?) -> Void
. 이 방법은 응답을 처리하기위한 일반적인 로직을 포함한다. 지. 데이터 검사, 파싱 등. 이제 단위 테스트를하고 싶습니다. 메소드에는 몇 가지 확인이 포함되어 있습니다 (예 :URLSession Completer 용 단위 테스트 래퍼
guard let data = data else {
//some logic
return
}
여기에서이 함수가 실제로 종료되는지 테스트하고 싶습니다. 물론 그것은 무효 반환 (나는 그렇게 생각한다, 나는 무언가를 놓쳤을지도 모르는)에 반하여 그것을 이룰 수 없다. 다른 옵션 - 메서드를 throws
으로 표시하고 특정 오류를 테스트하십시오. 그러나이 방법은 URLSession.shared.dataTask
방법에 적합하지 않습니다. 나는 이런 것들에 대해 편집증을 느낍니까? 그것을 성취 할 가능성이 있습니까? 미리 감사드립니다.
좋은 답변 주셔서 감사합니다. 그러나 나는 그것이 내가 요청한 것이 아니라고 생각한다. 또한 요청 흐름을 논리적 부분으로 구분했습니다. 그리고 파트의 일부가 실패한 경우 (예 : 잘못된 HTTP 코드, 구문 분석 할 수없는 유효하지 않은 응답) 요청 완료자가 종료되는지 테스트해야합니다. 뭔가 잘못되면 흐름이 멈추지 않으면 런타임 오류가 발생할 수 있습니다. 감사. – Yura