Robolectric packageinfo缺少数据

时间:2015-01-07 12:55:34

标签: java android junit gradle robolectric

我的应用使用其versionName PackageInfo来确定当前版本。

我尝试测试一段代码(使用JUnit)依赖于该数据,但Robolectric将versionName设置为null。 我查看了源代码,发现PackageInfo是根据我的AndroidManifest.xml进行初始化的。

我的应用程序的清单不包含versionName,它是通过android gradle插件设置的(在常规构建后效果很好,我希望保持这种方式)

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        ...
        versionName VERSION_NAME
    }
...
}

我是否可以在测试版本中对清单进行更改?

1 个答案:

答案 0 :(得分:1)

您可以使用BuildConfig.VERSION_NAME常量而不是从PackageInfo收集它。

但是,由于Robolectric测试仅针对调试配置运行,因此无法检入Robolectric测试版本配置案例。但也许不是你的情况