iOS 프로그래밍을위한 단위 테스트를 수행하고 있으며 조롱을 통해 기본 클래스의 유효성을 검사 할 때 약간의 문제가 발생했습니다. 자식 클래스를 OCMock을 사용하고 메인 클래스가 자식 컨트롤러 (mockObjects [uiviewContoller])를 추가하는지 확인한 다음 객체가 각 자식 컨트롤러의 메소드를 호출하는지 확인합니다.루트보기 컨트롤러 OCMockObject [UIViewController]를 자식보기 컨트롤러 오류로 추가
문제는 내가 점점 계속이다 "테스트에 실패 '루트 뷰 컨트롤러를 추가 OCMockObject [UIViewController에] 뷰 컨트롤러의 자식으로'"
내가 테스트를 실행할 때마다 다른 시간.
- (void)setUp
{
[super setUp];
testMain = [[UIViewController alloc] init];
}
- (void)tearDown
{
for (UIViewController *testCon in testMain.childViewControllers) {
[testCon removeFromParentViewController];
}
testMain = nil;
[super tearDown];
}
시험 :
- (void) testDayNightTriggerTriggersAllSubviews{
id mockTopController = [OCMockObject niceMockForClass:[UIViewController class]];
id mockBottomController = [OCMockObject niceMockForClass:[UIViewController class]];
id mockMainScreen = [OCMockObject niceMockForClass:[UIViewController class]];
[[mockTopController expect] dayNightTrigger];
[[mockBottomController expect] dayNightTrigger];
[[mockMainScreen expect] dayNightTrigger];
//trigger
[testMain dayNightTrigger:mockTopController bottom:mockBottomController main:mockMainScreen];
[mockBottomController verify];
[mockTopController verify];
[mockMainScreen verify];
}
방법은 확인합니다 :
//overload
- (void) dayNightTrigger:(UIViewController *) top bottom:(UIViewController *)bottom main:(UIViewController *)main{
self.bottomMenu = bottom;
self.topMenu = top;
self.mainScreen = main;
[self dayNightTrigger];
}
- (void) dayNightTrigger{
[self.app dayNightTrigger];
[self.bottomMenu dayNightTrigger];
[self.topMenu dayNightTrigger];
[self.mainScreen dayNightTrigger];
}
내 설치/해체와 아무 잘못이 있는지 궁금 해서요? 또는 OCMock 프레임 워크에 문제가 있습니다.하지만 실제로이 오류가 계속 발생하는 이유는 무엇입니까?
실제 추적을 붙여 넣는 것이 도움이 될 수 있습니다. –
self.app dayNightTrigger를 조롱해야할까요? –