私はDagger 2
を使用しており、テスト時にさまざまな依存関係を提供しようとしています。テストごとに異なるテストランナーを使用する
私はテストに異なる依存関係を提供できますが、残念ながら、これらはandroidTest
ディレクトリ内のすべてのテストに適用されます。
これは、を使用するTestAppComponent
を指定することで行います。私のでは、私のAndroidApplication
を拡張して、私はAppComponent
ではなくTestAppComponent
を提供しています。それから私はnewApplication
方法そうのように拡張しTestRunner
あります。そして、私は現在のランナーを置き換え、このランナーを使用する
@Override
public Application newApplication(ClassLoader cl, String className, Context context) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
return super.newApplication(cl, TestApplication.class.getName(), context);
}
を次
testInstrumentationRunner "com.company.myapp.TestRunner"
はどうすれば私の質問私は別のコンポーネント/アプリケーション/テストランナーを使用するのではなく、それぞれ異なるテストに使います。私は1つのテストで依存関係を模倣したいが、別のテストでは依存したくないかもしれない。