ホワイトボックステストには次のソリューションがあります。
- Typhoon - DI フレームワーク
- KIF - UI と対話するためのツール
すべての重要なエッジ ケースをテストするには、バックエンドからの応答を「スタブ」する必要がある場合があります。コンポーネントにパッチを適用して作成しました(これがどのように行われるかについての完全な説明です:台風を使用した統合テストの偽、スタブ、またはモックの依存関係を注入する方法)
それで
KIFTestCase の beforeAll メソッドで、HTTPClient が FakeHTTPClient にパッチされ、特定のリクエストのレスポンスをスワップできるようになりました。
プロジェクトのアーキテクチャ
アプリの本番コードは、最も重要な場所でリファクタリングされましたが、いくつかの場所では、defaultAssembly を使用してグラフから依存関係を取得する必要があったため、アプリ内のほぼすべてのアセンブリが deafultAssembly になりました。
そしてもちろん、スコープ TyphoonScoopeSingleton との依存関係があります。
問題:
httpClient にパッチを適用した後、Singleton スコープのコンポーネントは「更新」され、init が再度呼び出されました。
グラフ内のコンポーネントを動的に置き換えたい場合、たとえば beforeAll メソッドで、依存関係をスコープ Singleton で「更新」せずに Typhoon で行うことは可能ですか?