Roboelectric не может запустить тест из-за AutofillManager
Я не могу заставить Roboelectric запустить мой тест, потому что он не может создать теневой объект для класса AutofillManager.
@RunWith(RobolectricTestRunner.class)
@org.robolectric.annotation.Config(constants = BuildConfig.class)
public class ConnectivityManagerTest
{
private ConnectivityManager connectivityManager;
private ShadowNetworkInfo shadowOfActiveNetworkInfo;
private ShadowConnectivityManager shadowConnectivityManager;
@Before
public void setUp() throws Exception {
ConnectivityManager connectivityManager = (ConnectivityManager) ShadowApplication
.getInstance().getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
shadowConnectivityManager = shadowOf(connectivityManager);
shadowOfActiveNetworkInfo = shadowOf(connectivityManager.getActiveNetworkInfo());
}
@Test
public void getActiveNetworkInfo_shouldInitializeItself() {
assertNotNull(shadowOfActiveNetworkInfo);
}
}
Вместо этого я попытался использовать фиктивные объекты и запустить с RobolectricTestRunner. Тест прошел успешно. Но похоже, что созданные теневые объекты не могут получить доступ к AutofillManager. Любая подсказка?
1 ответ
Согласно комментарию к проблеме Robolectric, compileSdkVersion должно быть не менее 27 ( https://github.com/robolectric/robolectric/issues/3828). Это сработало для меня.