【XCTest】No target application path~のエラーについて
どうも、ねこきち(@nekokichi1_yos2)です。
今回は、No target application path specified via test configuration、のエラーでつまずいたので、備忘録を残します。
発生タイミング
XCTestで特定のテストを実行したら発生した。
⌘Uだと正常に実行したけど(ただし、テスト結果がprint()などが機能しない)、XCTFail()だけの関数でも発生してしまう。
XCUITestでは問題なかった。
解決方法
Podfileでテスト用TARGETの記述を追加
Podfileにて、下記を記述して、Pod installやPod Updateを繰り返したら、解決した
↓
"inherit! :search_paths"を調べると
- inherit : 継承
- search_paths : 親の検索パス
の意味になるみたい。
つまり、
- 親が持つCocoaPodの検索パスがなかった
- 親と同じ検索パス、CocoaPodsの設定がなかった
からエラーが起こったと解釈。
確かに、エラー文では、BundleやPathがnullだ的なことが書かれていたし、親のモジュール(アプリ)を実行するから親の環境と同じでないといけない気はする。
GitHubDesktopで差分を確認すると、テスト用TARGETのinfo.plistにCFBundle~の設定値が追加されていた。
↓
とにかく、XCTest + CocoaPod、を利用するなら、Podfileの記述はいじらない方がいい。
新規のXCTestファイル、TARGETを追加
当たり前だけど、既存のファイルとTARGETを削除し、新規のそれらを追加したら、上手く行った。