1

Xcode의 테스트 클래스 및 메소드를 활용하여 내 비동기 HTTP 서비스 요청에서받은 응답을 확인하고 싶습니다. 예상되는 매개 변수를 올바르게 구문 분석하십시오.Xcode로 테스트 및 비동기 NSURLConnection 요청의 응답

내가받는 응답은 JSON 형식이며, 내 응용 프로그램은 사용자 지정 개체를 만들기 위해이를 파싱합니다. NSURLConnection 연결을 사용하는 객체를 통해 서비스를 호출하고 응답을 얻기 위해 NSURLConnectionDelegate 프로토콜을 구현합니다. 내 XCTestCase 클래스를 NSURLConnectionDelegate 프로토콜을 따르는 것이 작동하지 않는 것으로 보아서 이것을 테스트 할 방법을 찾지 못했습니다.

감사합니다.

답변

0

나는 이런 종류의 테스트를 잘못하는 것이 좋습니다.

실제 데이터를 사용하고 실제로 네트워크를 통해 가져 오기를 수행하는 것은 실제로 테스트하는 것이 아닙니다. 반환 된 데이터의 파싱을 테스트하기 만하면됩니다.

이 방법 중 하나는 OHHTTPStubs 또는 Nocilla과 같은 스터 빙 프레임 워크를 사용하는 것입니다.

이렇게하면 JSON 파일을로드하고 구문 분석을 테스트하거나 네트워크 나 네트워크 오류와 같은 여러 조건을 테스트 할 수 있습니다.

이것은 테스트를 수행 할 수있는 제어 된 환경을 제공하며 실제로 가져 오기를 수행하는 것보다 훨씬 좋은 방법입니다.

다른 장점은 통근 중에 인터넷 연결없이 해당 테스트에 대해 코드를 작성할 수 있다는 것입니다.

+0

감사합니다. 실제로 나는 서비스의 응답이 내가 그들에게 보내는 데이터에 의존하기 때문에 완전한 프로세스를 테스트하고 싶습니다 – AppsDev

+0

그리고 그것은 테스트에서 설정할 수있는 다른 것입니다. 서버가 주어진 매개 변수에 대해 보내는 응답을 테스트하는 경우, 서버에 대한 테스트이며 __unit test__가 아니라 원하는 테스트 __입니다. – Anorak

+0

네가 맞다. 내가 원하는 것은 더 많은 통합 테스트이다. 당신이 추천하는 프레임 워크 중 어느 것을 추천 할 것인가? – AppsDev

관련 문제