[iOS] Unit Testing URLSession using URLProtocol

Inwoo Hwang·2021년 8월 26일
0

iOS

목록 보기
7/13
post-thumbnail

네트워크 세분화 테스트

URLProtocol

An Abstract class that handles the loading of protocol-specific URL data.

데이터 로딩을 다루는 추상 클래스

Declaration

class URLProtocol : NSObject

해당 클래스를 다이랙트하게 초기화 하기 보다는 특정 앱의 커스텀 프로토콜 또는 URL 스키마가 해당 클래스를 상속 받게 하여 생성해야 합니다. 다운로드가 시작되면 시스템은 적합한 프로토콜 오브젝트를 생성하여 상응하는 url요청을 처리합니다.

Note: Watch OS 2 또는 이후 버전에는 해당 클래스를 사용하여 커스텀 URL 스키마와 protocol을 정의하면 안됩니다.

protocol-specific 요청을 지원하기 위해서는 URLRequest 클래스의 extension을 생성하여 필요한 모든 커스텀 API를 지원할 수 있습니다.property(forKey: In:) 그리고 setProperty(_ forKey: int:) 을 활용하여 protocol-specific 요구 데이터를 저장할 수 있습니다.

해당 클래스의 메서드를 override할 때 task를 파라미터로 받는 메서드를 상속받는 것을 시스템은 선호하기 때문에 왠만하면 같은 이름을 갖는 메서드라도 task를 파라미터로 받는 메서드를 상속받는 것이 좋습니다.

URLProtocol 상속받기

추후에 추가할 예정입니다.

[참고자료]:

URL Protocol | Apple Developer Document

[Unit Testing URLSession using URLProtocol - Dhawal Dawar](

profile
james, the enthusiastic developer

0개의 댓글