【问题标题】:Roboelectric cannot run test because of AutofillManager由于自动填充管理器,Robolectric 无法运行测试
【发布时间】:2018-08-25 19:44:33
【问题描述】:

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

【问题讨论】:

  • 您找到解决此问题的方法了吗?
  • 可悲的是没有伙伴...我确实在 github 的 Roboeletric 存储库中发布了这个问题。目前还没有
  • 感谢您的回复。我会尝试找到 github 问题并关注它。我在尝试从 robolectric:3.5.1 升级到 3.8 时遇到了这个问题。现在我坚持使用 3.5.1

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多