Objevtive-CプロジェクトのUnitTestでSwiftコードを使用する方法

2020年5月7日

Objevtive-CのプロジェクトでSwiftコードを使用したプログラムをUnitTest(ユニットテスト)する方法をご紹介します。

1.Swiftコードを使用する方法

基本的にUnitTestでも通常と同様にObjective-CのプロジェクトでSwfitコードを動かすために

・#import "TargetName-Swift.h"によるインポート
・TargetName-Briding-header.hの作成

の2つの設定をする必要があります。

2つの詳しい設定方法などは以下の記事でご紹介していますのでよくわからないかたはこちらをご参照ください。

関連記事

2.Swiftライブラリやフレームワークを使用する方法

基本的にSwfitコードは上記の方法でユニットテストでも動かすことができますが、Swfitコードでできているライブラリやフレームワークを使用する場合は追加で1つ設定が必要です。

設定は簡単で

UnitTestのターゲット > BuildSettings > Header Search Paths

$CONFIGURATION_TEMP_DIR/[プロジェクト名].build/DerivedSources

を追加するだけです。

[プロジェクト名]の部分はプロジェクト名がTestの時「Test.build」という感じに任意で書き換えてください。

これでObjective-C製のプロジェクトのユニットテストでもSwift製のライブラリやフレームワークが使用できるようになります。