2012-04-23 4 views
4

테스트 목적으로 시뮬레이터의 스토리 보드에서 특정 장면을 실행할 방법이 있습니까? 테스트하려는 올바른 페이지로 이동하기 위해 앱의 여러 페이지를 탭해야하는 것은 불편합니다.스토리 보드로 단위 테스트

+1

xcode/sentestingkit 또는 UI 자동화를 통한 단위 테스트에 대해 질문합니까? – shawnwall

답변

1

단위 테스트는 모든 UI에 적합하지 않습니다. 모델 및 bizz 논리에 대한 단위 테스트를 직접 줄여야합니다.

UI 테스트, 통합 테스트, UIAutomation 및/또는 KIF을 볼 수 있습니다.

+1

기본적으로 전체 스토리 보드 대신 단일 장면을 시뮬레이터에로드하는 방법을 찾고 있습니다. 어쩌면 그것은 나쁜 생각 일 수 있습니다. – zakdances

2

이 그것을 할 수 있어야한다 :

[tableVC loadView]; 
[tableVC viewWillAppear:YES]; 
[tableVC viewDidAppear:YES]; 

실제로 좋은 생각이든 :

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
UITableViewController *tableVC = [storyboard instantiateViewControllerWithIdentifier:@"MyTable"]; 

을 당신은 실제로 화면에주지 않고 나타나는 뷰 컨트롤러를 시뮬레이션하려는 경우 이렇게하는 것은 다른 문제입니다.

+0

Apple 문서는 사람들이 loadView를 직접 호출하지 못하게합니다. – fatuhoku

+0

그들은 그렇다; 그러나 이것은 생산 코드가 아닌 테스트 코드입니다 (KIF는 프로덕션 코드에서 절대해서는 안되는 것들로 가득합니다). 대신 viewVC.view에 액세스 할 수 있습니다 (뷰가로드 될 수 있음). 그러나 반환 값이 사용되지 않으므로 컴파일러 또는 정적 분석기 경고가 발생할 수 있습니다. – JosephH

관련 문제