OCMock을 사용하여 내 응용 프로그램을 테스트하려고합니다. 하지만 어디에서 스텁을 사용해야하는지 어디에서 사용해야하는지 혼란 스럽습니다. 아무도 도와 줄 수 있습니까?OCMock expect와 stub 메서드의 차이점은 무엇입니까?
6
A
답변
13
기본적인 차이는 이것이다 : 당신 이 일해야 expect
일, 그리고 이 발생할 수 있음을 stub
것.
모의 개체가 실패하는 방법은 두 가지입니다. 예기치 않은/unstubbed 메서드가 호출되거나 예상 메서드가 호출되지 않습니다.
- 예기치 않은 호출. mock 객체가 스텁되거나 예상되지 않은 메시지를 받으면 즉시 예외가 발생하고 테스트가 실패합니다.
- 예상되는 호출. 귀하의 모의목 (일반적으로 시험이 끝날 때)에
verify
으로 전화하면 예상했던 모든 방법이 실제로 호출되었는지 확인합니다. 그렇지 않은 경우 테스트가 실패합니다.
이 동작을 변경하는 몇 가지 유형의 모의이 있습니다. 멋진 모의 및 부분 모의. 좋은 mock은 메소드를 스텁하는 것을 방지합니다. 기본적으로 예기치 않은 호출이 발생합니다. 부분 모의 (partial mock)는 실제 객체에 전송 된 메시지를 가로 채는 방법입니다. 부분 모의 객체에서 기대하거나 스텁하는 모든 메시지는 mock 객체로 전송됩니다. 다른 모든 메시지는 실제 개체로 전송됩니다. 좋은 모의 객체와 부분 모의 객체 모두에 대해 예기치 않은 호출 (위의 규칙 1)에서 테스트 실패가 발생하지 않습니다.
관련 문제
- 1. mock, stub 및 factory girl의 차이점은 무엇입니까?
- 2. Mockito를 사용할 때 mock()과 stub()의 차이점은 무엇입니까?
- 3. 코코아 터치. 이 NSMutableData 메서드의 차이점은 무엇입니까?
- 4. OCMock 반환 값
- 5. Expect와 BASH 믹싱
- 6. 블록 컨텍스트에서 OCMock
- 7. 내가 함께 참고 클래스가 ocmock
- 8. OCMock 비동기식 블록 콜백
- 9. 정적 구조 메서드와 정적 클래스 메서드의 차이점은 무엇입니까?
- 10. C#에서 클래스의 소멸자와 Finalize 메서드의 차이점은 무엇입니까?
- 11. 추가 정보 : 클래스 메서드와 인스턴스 메서드의 차이점은 무엇입니까?
- 12. Actionscript 3에서 "in"연산자와 "hasOwnProperty"메서드의 차이점은 무엇입니까?
- 13. Objective-C 함수와 Objective-C 메서드의 차이점은 무엇입니까?
- 14. + 및 - 메서드의 속성을 정의 할 때의 차이점은 무엇입니까?
- 15. 왜이 OCMock 확인에 실패 했습니까?
- 16. 문서 String Stub, Python
- 17. OCmock 및 MKReverseGeocoder
- 18. "java.lang.IncompatibleClassChangeError : vtable stub"의 원인은 무엇입니까?
- 19. 운영자와 방법의 차이점은 무엇입니까?
- 20. OCMock valueForKey 내가 테스트하고있어 코드에서 자 NSPredicate
- 21. 스텁에서 AssertWasCalled 메서드를 호출 할 수 있다면 모의 (mock)와 스텁 (stub)의 차이점은 무엇입니까?
- 22. 개체와 정적 메서드의 차이점
- 23. Rhino.Mocks.RhinoMocksExtensions.VoidType을 lambda Expect와 함께 사용하려면 어떻게해야합니까?
- 24. 명령이 Expect와 함께 버퍼에 쓰지 않습니다.
- 25. OCMock - nsarray의 내용을 예상하는 방법
- 26. C에서 확장 메서드와 메서드의 차이점
- 27. GridView.DataBind 메서드의 기능은 무엇입니까?
- 28. SPHttpUtility.NoEncode 메서드의 용도는 무엇입니까?
- 29. Application.Exit 메서드의 의미는 무엇입니까?
- 30. OCMock with Core Data 동적 속성 문제