アップストリームモジュールからのテストデータ/クラスをダウンストリームモジュールに提供したいと思います。これを行う最善の方法は何ですか?マルチモジュールのgradleプロジェクトでテストデータとクラスを提供する方法
のは、私は以下のモジュールがあるとしましょう:
:data-transactions
- は、インタフェースTransactionsCache
を持っています。このモジュールはデフォルトで、このキャッシュをSQLiteにバックアップするTransactionDbCache
を提供します。
:ui-transactions
- トランザクションをユーザーに表示するには、TransactionsCache
のインスタンスが必要です。このモジュールは:data-transactions
に依存しています。 :ui-transactions
をテストしている間、私は
- 欲しい
、私は
TransactionsInMemoryCache
ようTransactionsCache
の偽の実装を提供します。:data-transactions
の他のダウンストリームモジュールもTransactionsInMemoryCache
が必要な場合があります。このクラスは、非テストモジュールには含めないでください。私はここでのソリューションはsrcSets
、特別に何かあると推測している:data-transactions
と同じモジュールにすなわちこと - TransactionsInMemoryCache
よう
internal
可視性修飾子kotlin活用することができるはずですtestHelper
設定? 注:これはアンドロイド用ですので、APKを生成する必要があります。フレーバーなしで可能ですか?
の賛成でこのプラグインを非推奨となっていることをオプション1.注nebula-test-jarプラグインは、私はちょうど 'のsrc /偽物/ java'のカスタム設定を定義していることの.jarをオフに構築することができませんでしたを参照してください。 ? しかし、私は、 'main'クラスパスが上流モジュールの' main'に依存する下流モジュールを望んでいます。下流の 'test'クラスパスは上流の' fake'クラスパスに依存しています。ダウンストリームの 'test'コンフィギュレーションは' main'コンフィギュレーションから拡張されています。この 'main'コンフィギュレーションはアップストリーム' main'に依存しますが、ダウンストリーム 'test'はアップストリーム' fake'に依存します。 – ZakTaccardi