-(void)testDialog{[[UIAlertViewninja]spy];[viewControllershowDialog];UIAlertView*alert=[[[[UIAlertViewninja]report]showedAlerts]lastObject];STAssertEqualObjects(@"Ninja",alert.title,@"alert title is Ninja");[[UIAlertViewninja]complete];}
confirmもできるよ!
ボタンを何個か設定して、ここを押したい、みたいなテストにも対応できます。
123456789101112131415161718192021
-(void)showConfirm{UIAlertView*alert=[[UIAlertViewalloc]initWithTitle:@"Ninja"message:@"Are you Ninja ?"delegate:selfcancelButtonTitle:@"NO"otherButtonTitles:@"YES",@"I'm Kunoichi",nil];[alertshow];}-(void)alertView:(UIAlertView*)alertViewclickedButtonAtIndex:(NSInteger)buttonIndex{self.calledClickedButtonAtIndex=YES;if(buttonIndex==0){self.result=@"NO";}elseif(buttonIndex==1){self.result=@"YES";}elseif(buttonIndex==2){self.result=@"Kunoichi";}}
こうなってるやつに・・・
1234567891011
-(void)testConfirm{[[[UIAlertViewninja]spy]andSelectIndexAt:2];[viewControllershowConfirm];UIAlertView*alert=[[[[UIAlertViewninja]report]showedAlerts]lastObject];STAssertEqualObjects(@"Ninja",alert.title,@"alert title is Ninja");STAssertEqualObjects(@"Kunoichi",viewController.result,@"result is 'Kunoichi'");[[UIAlertViewninja]complete];}
-(void)testConfirm{[[[UIAlertViewninja]spy]andSelectIndexAt:2];[viewControllershowConfirm];UIAlertView*alert=[[[[UIAlertViewninja]report]showedAlerts]lastObject];STAssertEqualObjects(@"Ninja",alert.title,@"alert title is Ninja");STAssertTrue(viewController.calledWillPresent,@"called will present delegate method");STAssertTrue(viewController.calledDidPresent,@"called did present delegate method");STAssertTrue(viewController.calledWillDismiss,@"called will dismiss delegate method");STAssertTrue(viewController.calledDidDismiss,@"called did dismiss delegate method");STAssertTrue(viewController.calledClickedButtonAtIndex,@"called did clicked button at Index");STAssertEqualObjects(@"Kunoichi",viewController.result,@"result is 'Kunoichi'");[[UIAlertViewninja]complete];}