如何在 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 (将#修改为@)