버튼을 누르면 적절한 IBAction
이 호출되는지 확인하는 단위 테스트를 작성해야합니다. 내가 테스트를 실행하면버튼을 눌러 올바른 IBAction을 호출하는지 확인하는 단위 테스트를 작성하는 방법은 무엇입니까?
- (void)testWhether_loginBtnTapped_IsCalledAfterUserTapLoginButton
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
GoingToLoginViewController *myViewController = [storyboard instantiateViewControllerWithIdentifier:@"GoingToLoginVC"];
id vcMock = [OCMockObject partialMockForObject:myViewController];
[[vcMock expect] loginBtnTapped:[OCMArg any]];
[myViewController.loginBtn sendActionsForControlEvents:UIControlEventTouchUpInside];
[vcMock verify];
}
내가 메시지 로그가 :
error: testWhether_loginBtnTapped_IsCalledAfterUserTapLoginButton (Ticket2Tests) failed: OCPartialMockObject[GoingToLoginViewController]: expected method was not invoked: loginBtnTapped:<OCMAnyConstraint: 0xfd3aeb0>
을 내가 시뮬레이터에 내 응용 프로그램을 실행할 때 버튼이 적절하고 - (IBAction)loginBtnTapped:(id)sender;
했다 작동 여기
내가 뭘 잘못했는데 테스트를 통과하려면 어떻게해야합니까?
[이 코코아 GUI를 어떻게 테스트합니까?] (http://stackoverflow.com/questions/545768/how-do-you-test-your-cocoa-guis)에서이 질문을보십시오. 대답은 코코아 터치에 완벽하게 유효합니다. 예를 들어 [Keep It Functional (KIF) (Keep Keep Functional (KIF))] (https://github.com/square/KIF)과 같이 UI 테스트와의 실제 상호 작용을 테스트 할 수 있습니다. – mAu