swift-dependenciesの導入方法
概要
TCAでお馴染みのswift-dependencies
というライブラリの導入方法についての解説です。
導入する際に、少し気を付けるべきポイントがあるので、今回まとめました。
swift-dependenciesとは
swift-dependencies
は、Point-Freeが開発した依存性注入(Dependency Injection, DI)のライブラリ です。主にSwiftのコードで依存関係を簡潔に管理し、テストしやすくするために使われます。
swift-dependenciesの特徴
✅ 1. 依存性を一元管理
• 依存性を グローバルに登録 し、どこからでもアクセス可能
• @Dependency プロパティラッパーで簡単にアクセス
✅ 2. TestDependencyKeyを使ったモック
• テスト時に依存関係を差し替え できる
• live / mock / test のように 環境ごとに切り替え 可能
✅ 3. @DependencyClient マクロでコードを簡潔に
• 依存性の デフォルト実装 (unimplemented) を自動生成
• SwiftSyntax を利用したマクロ機能で 定義を簡略化
導入手順
上述のswift-dependenciesの特徴からわかるように、swift-dependenciesは、一部の機能でテストサポート(TestDependencyKey や unimplemented など)を利用しているため、適切に動作させるにはテストモジュール(XCTest)が必要になる場合があります。
このことを念頭に入れて、導入手順を見ていきましょう!
- テストモジュールが入ってない場合は、テストモジュールを追加
- メニューバーの「File」 → 「New」 → 「Target…」 を選択
- iOS Unit Testing Bundle」を選択
- SPMでswift-dependenciesの追加
以上で導入完了です。
まとめ
最後までお読みいただきありがとうございました。
手順自体は、難しくないですが、自分はターゲットの選択を適当に行なってしまい、エラーの解消に時間をかけてしまいました。。。
少しでもお役に立てれば幸いです。
swift-dependenciesの使い方についても、今後投稿しようと思います。
Discussion