android - 由于 AutofillManager,Robolectric 无法运行测试

标签 android unit-testing robolectric android-autofill-manager

我无法让 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。有什么线索吗?

最佳答案

根据对 Robolectric 问题的评论,compileSdkVersion 需要至少为 27 ( https://github.com/robolectric/robolectric/issues/3828#issuecomment-377586971 )。这对我有用。

关于android - 由于 AutofillManager,Robolectric 无法运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49325856/

相关文章:

android - ScrollView 内的可扩展 ListView

java - 高分辨率 Android 手机中的文本显示较小

android - 我可以更改根目录的写权限吗? Sygic Navigation 及其 API

java - 如何在 TestNG 中禁用整个单元测试?

c# - 模拟列表或模拟对象列表

c# - 使用 Web 请求为函数编写单元测试

android - 从 IDEA 运行 Robolectric 测试

android - 有没有办法在不使用 Path 的情况下用 Canvas 绘制填充区域?

android - 如何使用 robolectric 测试应用程序类中的方法?

android - Robolectric 是否需要 Java 9?