2011-11-30 4 views
2

Xcode 4.2가 포함 된 OCUnit을 사용하여 기존 iOS 프로젝트에 단위 테스트를 추가하고 있습니다. 나는 성공적으로 새로운 빌드 타겟 (여기에 지침을 따라 : http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/)을 추가했고, 테스트를 실행할 수 있는지 그리고 테스트가 예상대로 작동 하는지를 확인하기 위해 몇 가지 사소한 예제 테스트를 설정했다.Xcode에서 iOS OCUnit 테스트 파일 구성

제 질문은 더 많은 테스트 파일을 추가하는 것과 그 파일을 구성하는 방법에 관한 것입니다. 기존 코드 기반은 광범위하며 조만간 테스트를 추가해야하는 수백 가지 클래스가 포함되어 있습니다. 분명히, 자동 생성 된 'UnitTests.m'파일에 모든 테스트를 넣는 것은 광기 일 것입니다. 'Objective-C 테스트 사례 클래스'템플릿을 사용하여 더 많은 파일을 추가 할 수 있지만 테스트 대상을 추가 할 때 XCode가 생성 한 'UnitTest.m'과 관련이있는 것은 분명하지 않습니다.

XCode는 테스트 대상에 대한 모든 테스트 파일을 찾고 모든 테스트를 실행합니까? 그렇다면 테스트중인 각 클래스에 대한 새 테스트 파일을 생성하고 주 'UnitTests.m'파일에 아무 것도 포함하지 않는 것이 좋습니다. 이 경우 테스트를 포함하지 않으므로 파일을 안전하게 삭제할 수 있습니까? 아니면 다른 파일에서 다른 테스트를 실행하기 위해 남아 있어야합니까?

답변

5

Xcode는 처음에 단위 테스트 대상의 파일에 대한 모든 단위 테스트를 실행하도록 설정됩니다. 자신의 상황에서 테스트 할 각 클래스에 대해 새 테스트 파일을 만들어야합니다. 새 파일을 만들 때 응용 프로그램 대상이 아닌 유닛 테스트 대상에 파일을 추가해야합니다. Xcode는 처음에 파일을 응용 프로그램 대상에 추가합니다.

UnitTest.m 파일을 삭제할 수 있습니다. 작성한 각 단위 테스트 파일에는 테스트를 실행할 수있는 충분한 정보가 들어 있습니다. 또한 구성표 편집기를 사용하여 Xcode에서 테스트를 실행하는 방법을 제어 할 수 있습니다.

엑스 코드 5 업데이트

엑스 코드 5는 하나의 테스트를 실행 테스트 클래스의 모든 테스트를 실행하거나 모든 테스트를 실행할 수 있습니다 테스트 네비게이터를 추가합니다. 테스트 탐색기는 Xcode에서 테스트를 실행하는 방식을 제어하기 위해 스키마 편집기를 사용할 필요성을 줄여줍니다.

관련 문제