テスト対象が普通のアプリの場合、下記記事の通りのやればOK。
iOS - Xcode5でカバレッジをJenkinsに表示する - Qiita
テスト対象がStatic Libraryの場合は、このやりかただと*.gcdaが出力されない。
以下のようにすればOK。
・GcovTestObserverクラスの実装は以下のようにする。
#import <XCTest/XCTest.h> // コードカバレッジを出力するためのクラス @interface GcovTestObserver : XCTestObserver @end @implementation GcovTestObserver - (void)stopObserving { [super stopObserving]; extern void __gcov_flush(void); __gcov_flush(); } @end
・以下のCoverageExportSetting.mをアプリ側ターゲットに追加する。
@interface CoverageExportSetting : NSObject @end @implementation CoverageExportSetting #ifdef DEBUG // コードカバレッジを出力するためのコード + (void)load { [[NSUserDefaults standardUserDefaults] setValue:@"XCTestLog,GcovTestObserver" forKey:@"XCTestObserverClass"]; } #endif @end
参考:code coverage - Generate gcda-files with Xcode5, iOS7 simulator and XCTest - Stack Overflow