結論(先に)
Test Scheme の Build Configuration が、存在しない Debug を参照していたのが原因でした。
Run は成功するのに、Test だけ
Unable to find module dependency
が出る場合、コードや SPM より先に Scheme を確認すべきでした。
発生した問題
SwiftUI + Swift Package Manager 環境で、以下の現象が発生しました。
- App の Run は正常
- Unit Test 実行時のみエラー
- Factory / Alamofire など、複数の SPM ライブラリで再現
エラー内容
Unable to find module dependency: 'Factory'
環境
-
macOS: 26.0
-
Xcode: 26.2
-
Swift: 6.2
-
SwiftUI
-
Package Manager: Swift Package Manager
-
使用ライブラリ:
- Factory
- Alamofire
状況の詳細
- App の Run は問題なし
- Test Target にも SPM ライブラリは追加済み
- キャッシュ削除、DerivedData 削除、Test Target 作り直し
→ すべて効果なし
原因
Test Scheme の Build Configuration が Debug になっていた
自分のプロジェクトでは、
- 実際に使っている Build Configuration は
Debug-simulator Debugという Configuration は存在しない
にもかかわらず、
Edit Scheme → Test → Build Configuration
Debugが設定されていた
という状態でした。
なぜこんなことが起きるのか
- Xcode は Test Scheme を自動生成するとき、
「Test = Debug」前提で設定する - その後 Project 側で
Debugを削除・使わなくしても、
Scheme は自動で更新されない - Scheme は
buildConfiguration="Debug"
という ただの文字列を保持しているだけ
結果:
- Run:
Debug-simulator→ OK - Test:存在しない
Debug→ SPM が解決できない
というズレが発生。
解決方法
Edit Scheme → Test → Build Configuration を修正
- 存在する Build Configuration
(例:Debug-simulator)に変更
これだけで、
module not found- Factory / Alamofire のエラー
は 完全に解消しました。
教訓
Run が通って Test だけ壊れるとき、
コードより先に Scheme の Build Configuration を疑う
SPM・外部ライブラリ・キャッシュは無罪で、
原因は Xcode の Scheme 設定でした。

