微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 ShadowPackageManager 中添加 PackageInfo?

如何解决如何在 ShadowPackageManager 中添加 PackageInfo?

我想在ShadowPackageManager 中添加PackageInfo with versionCode 来检查packageInfo 中提供的versionCode 是否小于、大于或等于单元测试用例中提供的版本。

PackageInfo packageInfo = new PackageInfo();
packageInfo.packageName = PACKAGE_NAME;
packageInfo.versionCode = 15050;

ShadowPackageManager mRBPakcagemanger = shadowOf(ApplicationProvider.getApplicationContext().getPackageManager());
mRBPakcagemanger.installPackage(packageInfo);

当我尝试获取用于测试的版本代码时,它会返回给我在 gradle 文件中给出的 versionCode。 如何嘲笑这个?

依赖和 Gradle 版本

    classpath 'com.android.tools.build:gradle:4.1.2'

    testImplementation 'junit:junit:4.13.2'
    testImplementation 'androidx.test.ext:junit-ktx:1.1.2'
    testImplementation 'androidx.test:core:1.3.0'
    testImplementation 'org.robolectric:robolectric:4.5.1'
    testImplementation 'org.robolectric:shadows-support-v4:3.3.2'
    testImplementation 'org.robolectric:robolectric-shadows:3.0'
    testImplementation 'org.mockito:mockito-all:1.9.0'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。