로 전송됩니다 , 그래서 나는 그 방법이 올바르게 작동한다고 확신한다. 그러나 올바른 시나리오에서 processResponse:error:forRequest:
이 호출되는지 테스트하고 싶습니다. 나는 어쩌면 글로벌 변수를 정의하고 그 메소드를 swizziling하려고 생각하고 있었다. 그래서 그들은 here을 제안하는 것처럼 썼다. 그러나 나는 그것이 아마도 너무 우아하지 않다고 생각하고 있었다. OCMock을 사용하여이 작업을 수행 할 방법이 없습니까?내가 OCUnit 상당히 새로운 오전 나는이처럼 보이는 방법에 테스트 케이스를 추가하려고 자기 OCUnit
0
A
답변
4
, 당신은 부분적으로 모의하여이 작업을 수행 할 수 있습니다
-(void)testProcessMessageBodyCallsProcessResponse {
// let's pretend this initializer exists
XMPPMessage *bar = [XMPPMessage messageWithRequestId:@"baz"];
Foo *processor = [[Foo alloc] init];
id mockProcessor = [OCMockObject partialMockForObject:processor];
[[mockProcessor expect] processResponse:OCMOCK_ANY error:nil forRequest:@"baz"];
[processor processMessageBody:bar fromNick:@"nick"];
[mockProcessor verify];
}
당신은 또한 당신이 올바른 responseBody
이 processMessageBody:fromNick:
에 전달되어 있는지 확인 수있는 경우 parseMessageBody:fromNick:isEcho:
에 대한 호출을 조롱 할 수있다.
2
하위 클래스 및 재정의 방법. 테스트 파일에 다음을 직접 정의하십시오. 클래스 이름이 푸 (Foo)라고 가정 해 봅시다.
이제 테스트에서 Foo 대신 TestFoo를 만듭니다. 그런 다음,이 방법은 그 말 ...
를 호출 마지막에서 호출 된 몇 번
- 에 대한 테스트를 작성 고려할 수 있는지 여부가 다른 클래스를 추출한다고, 이 메서드를이 메서드로 옮깁니다. 그런 다음 OCMock (또는 OCMockito)와 같은 조롱 프레임 워크를 사용할 수 있습니다. OCMock와
+0
감사합니다. @ 존! 나는 서브 클래 싱을 생각하지 않았다 –
관련 문제
- 1. OCUnit 테스트 케이스를 작성하는 방법
- 2. OCUnit 테스트 케이스는 문제
- 3. OCUnit 테스트 NSNotification 전달
- 4. UINavigationController의 OCUnit 테스트 문제
- 5. OCUnit 테스트 케이스가 실행되지 않습니다.
- 6. Mockito가) (확인 내가 추가하려고 상당히 관련 테스트 케이스를
- 7. OCUnit & NSBundle
- 8. 클래스가 오류 코드 138의 OCUnit 테스트 케이스를 충돌시키는 이유는 무엇입니까?
- 9. OCUnit/XCode 유닛 테스트 용 테스트 러너
- 10. 내가 MongoDB를 상당히 새로운 오전
- 11. OCUnit 링크 문제 질문
- 12. Xcode에서 iOS OCUnit 테스트 파일 구성
- 13. 개인 속성에 대한 OCUnit
- 14. NUnit과 내가 보이는 테스트 케이스를
- 15. OCUnit : 테스트 사례 메서드의 접두사를 변경하는 방법?
- 16. 아이폰에 별도의 OCunit 테스트 프로젝트 만들기
- 17. 터미널의 시뮬레이터를 사용한 OCUnit 응용 프로그램 테스트
- 18. OCUnit - 테스트 케이스 실패시 중단 하시겠습니까?
- 19. OCUnit : 테스트 할 사용자 로케일 변경
- 20. 내가 XSLT 상당히 새로운 오전 XSLT
- 21. OrchardCMS는 - 내가 OrchardCMS 상당히 새로운 오전
- 22. OCUnit 오류 코드
- 23. XCode의 excisting 프로젝트에 OCUnit 추가
- 24. Ocunit - 클래스 간 코드 공유를위한 싱글 톤 테스트 클래스 만들기
- 25. OCUnit 테스트 스위트 tearDown이 어떻게 호출되는지 확인 하시겠습니까?
- 26. iOS OCUnit 테스트 케이스에서 NSURLConnection이 작동하지 않는 이유는 무엇입니까?
- 27. OCUnit 어플리케이션 테스트에서 로그인/인증 무시
- 28. 문제점 Xcode 3에 OCUnit 설치
- 29. OCUnit on Snow Leopard VS Leopard
- 30. OCUnit UINavigationController 및 UITableView로 내 응용 프로그램 테스트
+1 "내 대답보다 간단하다" –