2015-01-29 2 views
0

SubMenuViewController라는보기 컨트롤러가 있고 그 안에 selectionLabel이라는 레이블이 있습니다. 뷰 컨트롤러는 스토리 보드에 있으며 SubMenuViewController 테스트를위한 단위 테스트를 작성하고 있습니다.스토리 보드에서로드 된보기 컨트롤러에서 전용 속성 테스트 단위

- (void)drawerItemSelectedWithIndex:(NSInteger)selectionIndex 
{ 
    if(selectionIndex == 0) 
    { 
     self.selectionLabel.text = @"All"; 
    } 
    else 
    { 
     self.selectionLabel.text = @"Test"; 
    } 
} 

내가 이것에 대한 단위 테스트 케이스를 작성하려면 :

내가하는 방법이있다. 확장 프로그램을 만들었습니다.

-(void)testDrawerItemSelectedWithIndex 
{ 
    [self.subMenuViewController drawerItemSelectedWithIndex:0]; 
    XCTAssert([self.subMenuViewController.selectionLabel.text isEqualToString:@"All" ]); 
} 

이 내가 전무로 self.subMenuViewController.selectionLabel의 값을 얻고,이 방법을 테스트하는 올바른 방법인가 :

@interface SubMenuViewControllerTests : XCTestCase 
@property(nonatomic)SubMenuViewController *subMenuViewController; 

@end 

@interface SubMenuViewController() 
@property(nonatomic)IBOutlet UILabel *selectionLabel; 
@end 

는 그리고 이것은 내가 작성한 시험 방법이다.

+0

나는 setUp에서 이것을 수행했다 : – Vinita

답변

0

콘센트가 올바르게 배선되도록 스토리 보드에서보기 컨트롤러를 인스턴스화해야합니다.

+0

설정에서보기 컨트롤러를 초기화했다. – Vinita

+0

이 코드를 밟았습니까? 스토리 보드 변수가 nil입니까? 내보기 컨트롤러 테스트에서 주 스토리 보드를 찾으려면 내 응용 프로그램의 번들을 지정해야합니다. –

+0

setUp에서 self.subMenuViewController의 인스턴스를 초기화하고 있습니다. self.subMenuViewController = [self.storyboard instantiateViewControllerWithIdentifier : @ "SubMenuViewController"]와 같은 것을하고 있지만 레이블이 초기화되지 않은 경우에도 마찬가지입니다. – Vinita