Я использую Dagger 2
и пытаюсь обеспечить различные зависимости во время тестирования.Использование различных тестовых направляющих для разных тестов
Я могу предоставить различные зависимости для тестов, но, к сожалению, они применяются ко всем тестам в каталоге androidTest
.
Я делаю это, указав TestAppComponent
, который использует TestAppModule
. В моем TestApplication
, который расширяет мои AndroidApplication
, я поставляю TestAppComponent
, а не реальный AppComponent
. Тогда я TestRunner
, расширяющий метод newApplication
следующим образом:
@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"
Моим вопросом
Как Я использую другой компонент/приложение/тестовый бегун для разных тестов, вместо того, чтобы использовать их для каждого из них? Возможно, я хочу издеваться над зависимостью в одном тесте, но не в другом?