2016-06-30 3 views
8

개별 구성표를 수동으로 선택하고 실행하지 않고 릴리스 빌드의 디버그 빌드 및 성능 테스트에서 단위 테스트를 실행하는 방법이 있습니까?테스트 구성표에 대한 다른 빌드 구성

본인에게는 단위 테스트 및 성과 테스트 계획이 있습니다. 단위 테스트 구성표의 테스트 구성에서 디버그 빌드를 선택하고 성능 테스트 구성표에 대해 릴리스 빌드를 선택했습니다. 개별적으로 각 스키마를 실행하면 디버그 빌드와 릴리스 빌드가 각각 생깁니다.

이러한 스키마를 모두 실행하는 다른 스키마를 만드는 경우 해당 새 스키마는 자체 빌드 구성을 갖게됩니다. 이 새로운 계획에 대한 디버그 빌드 구성을 설정하면 성능 테스트를위한 디버그 빌드도 얻게됩니다.

답변

1

다른 테스트 번들을 사용하고 원하는 것을 포함하거나 제외 할 수 있습니다.

나는 사용자 정의 테스트 대상 (번들)을 만들고 Xcode Test Navigator를 사용한다는 것을 의미합니다.

예를 들어 MyUnitBundleTests 타겟과 MyPerformanceBundleTests 타겟을 생성합니다. 클래스, 메소드 등을 포함/제외하도록 선택하는 두 개의 개별 테스트 '번들'이됩니다.

테스트 탐색기는 프로젝트에 포함 된 테스트 번들 및 관련 클래스, 메소드 등의 계층 적 목록을 표시합니다. 테스트 탐색기 목록의 항목을 Control- 클릭하고 바로 가기 메뉴에서 사용 또는 사용 안 함을 선택하여 구성표의 항목을 활성화 또는 비활성화 할 수 있습니다. 테스트 번들, 클래스 및 메서드를 선택적으로 활성화 및 비활성화 할 수 있습니다.

Testing with Xcode - Quick Start

Testing with Xcode - Running Tests and Viewing Results

은 테스트를 실행하기 위해 몇 가지 추가 상호 작용하는 방법이 있습니다. Xcode는 어떤 테스트 타겟이 스키마에 포함되고 활성화되어 있는지에 따라 테스트를 실행합니다. 테스트 네비게이터를 사용하면 스키마 편집기를 사용하지 않고도 스키마에 포함될 테스트 대상, 클래스 및 메서드를 직접 포함하거나 사용하거나 사용하지 않도록 제어 할 수 있습니다.

enter image description here

이 당신이 원하는거야하지만 내가 계획 편집기까지 가지 않고 테스트를 위해 생각할 수있는 유일한 옵션입니다 무엇 확실하지

.

+0

이것이 어떻게 도움이 될지 잘 모르겠습니다. 현재 두 가지 목표를 가지고 있습니다. 하나는 성능을 위해, 하나는 테스트를 위해 만들어졌습니다. 둘 중 하나를 실행할 수는 있지만 둘 다 실행할 수는 없습니다. 테스트 탐색기는 선택된 대상을 회색으로 표시하고이를 실행할 수 있도록 수동으로 전환해야합니다. – rid

+0

안녕하세요. '수동으로 스키마를 선택하고 실행하지 않고'라고 말했을 때 나는 당신이 Scheme Editor를 의미한다고 생각했다. – tymac

0

원하는 동작을 얻는 방법이있을 수 있지만 해킹 일뿐입니다.

내가 보는 주된 문제는 구성표의 테스트 동작에 대해 원하는 빌드 구성입니다. 빌드 구성이 스키마의 모든 타겟에 적용되므로 Debug 및 Release 구성을 사용하여 타겟을 빌드하도록 Xcode를 속일 수있는 방법을 찾아야합니다.

  1. 내 보냅니다 xcconfig 파일로 대상의 릴리스 구성 (xcodebuild -scheme "schemeName" -showBuildSettings >> release.xcconfig과는 릴리스 설정이 포함되어 있는지 확인) 구축하여 성능 테스트를 위해
  2. 다른 대상을 만들기를 : 말했다되는 것으로, 여기에 생각이다 동일한 소스 파일
  3. 이 새로운 대상의 디버그 구성을 앞서 릴리스 구성의 xcconfig 파일로 설정하십시오. (기본적으로 Xcode를 속이는 부분입니다)
  4. 원본 및 새로 생성 된 대상을 빌드 작업에 추가하십시오 당신의 계획을 수정하고 테스트 번들을 추가하십시오. 별도의 테스트 번들)
  5. 테스트 동작을위한 디버그 빌드 구성을 선택하십시오.

구성표를 테스트하면 디버그 및 릴리스 모두에서 소스를 빌드해야하며 디버그 빌드 구성 및 릴리스 구성에 대한 성능 테스트에서 단위 테스트를 실행해야합니다.

두 대상에 새 원본 파일을 추가해야하므로 설정이 약간 약해집니다. 루비 스크립트와 xcodeproj gem을 사용하여 프로세스를 자동화 할 수 있어야합니다.

희망이 있습니다.