虽然此问题已在其他线程中回答了以前的版本,但现在对于我的api 28来说,没有任何答案似乎适用,所以..
所有Robolectric测试在api 27上运行良好。现在,当我的应用程序api目标为28时,它们都失败了。
我在我的测试类上有@Config(constants = BuildConfig::class, sdk = [Build.VERSION_CODES.P])
。
深入研究Robolectrics内部SdkConfig.java,看起来像是他们添加了对api 28的支持:
addSdk(Build.VERSION_CODES.P, "P", "4651975", "P");
但是,在调试器中评估该代码行时,Build.VERSION_CODES.P
计算为10000
。不确定发生了什么。
我正在运行Robolectric 3.8,并且也尝试了4.0 alpha版本,但没有成功。
我错过了什么?
编辑:目前,我只是使用@Config(sdk = [Build.VERSION_CODES.O_MR1])
在最新的(据我所知)受支持的api版本上运行,这将给你Android 8.1.0(api 27)。