[解決済み】Xcodeのユニットテストで@testableを使用すると「No such module」と表示される。
質問
最近、Xcode 7 beta 5にアップデートしました。以前のプロジェクトにユニットテストを追加しようとしたのですが、エラーメッセージ "No such module [myModuleName]" を
@testable import myModuleName
という行があります。
試してみた
- でプロジェクトをクリーニングします。 オプション ビルドフォルダのクリーニング
- Build Options で "Enable Testability" (デバッグ) が Yes になっていることを確認する。
- テストターゲットを削除し、iOS Unit testing bundleを再追加する。
このプロジェクトではどれもうまくいきませんでした(しかし、別のプロジェクトではテストが機能するようになりました)。どなたかこの問題に直面し、解決された方はいらっしゃいますか?
解決方法は?
私の場合、うまくいった答え
答えは、私のプロジェクトにいくつかのエラーがあり、それがビルドを失敗させるというものでした。(そのエラーを修正し、再度クリーンアップとビルドを行ったところ、うまくいきました。
なお、これらのエラーは、最初は表示されませんでした。表示させるためには
- No such module" エラーが発生しているTestファイル全体をコメントアウトしてください。
- プロジェクトをもう一度実行してみてください。
もし他のエラーがあれば、今すぐ表示されるはずです。それらを修正し、テストファイルのコードをアンコメントします。No such module"のエラーは、私の場合はなくなりました。
万が一、他の方がこれで解決しない場合は、以下の方法も試してみてください。
ビルドフォルダをクリーンアップする
製品メニューを開き オプション をクリックし、[ビルドフォルダの削除...]をクリックします。
Enable TestabilityがYesに設定されていることを確認します。
プロジェクトナビゲータで、プロジェクト名をクリックします。ビルド設定]を選択し、[ビルドオプション]までスクロールダウンします。Enable Testability] が [Yes] (デバッグ用) であることを確認します。
Tests ターゲットを削除して再追加
他のことをやっていれば、おそらくこの作業は必要ないでしょう。しかし、もしそうであれば すでに書いたUnit Testsを保存することを忘れないでください。
プロジェクトナビゲータでプロジェクト名をクリックします。次に、Tests ターゲットを選択します。下部のマイナス(-)ボタンをクリックすると削除されます。
次に、プラス(+)ボタンをクリックして、iOS Unit Testing Bundleを選択して、再び追加します。このように、UI Testing Bundleも同じように追加することができます。
その他のアイデア
- 必要なクラスがすべてテストターゲットのメンバーであることを確認します。
- 必要なライブラリがすべて追加されていることを確認します。
- モジュール名が正しく書かれていることを確認してください ( 本解答 ).
または...
他にうまくいったものがあれば、下にコメントや回答を残してください。
関連
関連
-
[解決済み] Xcodeでカラーピッカーを開くにはどうしたらいいですか?
-
Xcodeの警告とエラー解消のまとめ
-
[解決済み] Xcodeログ "Writing analzed variants".
-
[解決済み] Xcode 6のバグ:Interface Builderファイル内の不明なクラス
-
[解決済み】Xcodeプロジェクト(フォルダを含む)の名前を完全に変更するにはどうすればいいですか?)
-
[解決済み】Xcodeでコードをフォーマットする方法は?[重複している]。
-
[解決済み】ld: フレームワークが見つからない Pods
-
[解決済み】Xcode 10: この実行ファイルに有効なプロビジョニングプロファイルが見つかりませんでした。
-
[解決済み】OS Xアップデート後、MobileDevice.pkgが信頼されず、Xcodeを開けない。
-
[解決済み] iOSのロジックテストでCocoaPodsを使用するとライブラリが見つからない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode 10 Error: 複数のコマンドが生成される
-
[解決済み] Xcode 9.2での「Warning: unable to build chain to self-signed root for signer(警告:自己署名ルートへのチェーンを構築できません)」警告。
-
[解決済み] Xcodeでカラーピッカーを開くにはどうしたらいいですか?
-
[解決済み] Xcode - しかし... 私たちのアーカイブはどこ?
-
[解決済み] GDB と LLDB のデバッガ比較
-
[解決済み】Xcodeでコードをフォーマットする方法は?[重複している]。
-
[解決済み】OS Xアップデート後、MobileDevice.pkgが信頼されず、Xcodeを開けない。
-
[解決済み】OSXのXcodeを最新バージョンにアップデートする方法は?
-
[解決済み】Xcodeのユニットテストで@testableを使用すると「No such module」と表示される。
-
[解決済み] ターゲット ... は `Pods/Pods.xcconfig` で定義された `OTHER_LDFLAGS` ビルド設定をオーバーライドします。