ReactiveCocoa와 함께 MVVM을 사용하고 테스트를 위해 OCMockito를 사용하고 있습니다. 내가 ViewController A와 ViewController B를 가지고 있다고 가정 해 봅시다. A는 B에 대해 segue를 수행해야합니다.이 경우 A는 필요한 데이터 ('model')를 할당을 통해 B에 전달합니다.OCMockito를 사용하여 읽기 전용 속성의 동작을 확인하려면 어떻게해야합니까?
B
은 다음과 같습니다
@interface ViewControllerB : UITableViewController
@property(nonatomic, readonly) ViewModel *viewModel;
@end
어딘가에 뷰 컨트롤러 A
에, 거기 성명 :
viewControllerB.viewModel.model = newModel; // passes new data along for B to display
나는이 할당이 일어나고 있는지 확인하기를 원하지만 viewModel
속성은 읽기 전용입니다. viewModel은 viewController의 init 메소드에 의해 초기화됩니다.
여기 뷰 모델을 어떻게 조롱 할 수 있습니까?
모의 도우미 viewModel
을 반환 할 수 있습니다. 그렇다면 https://github.com/jonreid/OCMockito/issues/38은 부분적 모의가 제거되었다고 말합니다. 왜?!
좋은 지적 - 저는 분당 스토리 보드를 사용하고 있으므로 iOS에서 내 View Controller 인스턴스를 처리하도록했습니다. 이것은 너무 고통스러운 이유의 일부입니다 : 나는 전달하고자하는 데이터가 전달되는 별도의'init'을 정의 할 수 없습니다. – fatuhoku