Android Robolectric未调用Application.onCreate()
我对机器人分子很陌生。在从Robolectric v3.0迁移到v3.4.1之后,我面临着这些问题Android Robolectric未调用Application.onCreate(),android,robolectric,Android,Robolectric,我对机器人分子很陌生。在从Robolectric v3.0迁移到v3.4.1之后,我面临着这些问题 Robolectric没有加载扩展应用程序的myAppController类 我在转换到RuntimeEnvironment.application到我的AppController时遇到类转换异常,这不应该是因为我的AppController扩展了应用程序,并且在迁移到最新版本之前工作正常 请在下面找到我的测试代码 @RunWith(RobolectricTestRunner.class) @Co
AppController
类RuntimeEnvironment.application
到我的AppController
时遇到类转换异常,这不应该是因为我的AppController
扩展了应用程序
,并且在迁移到最新版本之前工作正常李>
请在下面找到我的测试代码
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, manifest = "app/src/main/AndroidManifest.xml", sdk = 21)
public class FragmentTest {
private ExampleFragment fragment = SupportFragmentController.of(new ExampleFragment()).create().get();
private Context mContext;
@Before
public void setUp() throws Exception {
// RuntimeEnvironment.application.onCreate();
mContext =RuntimeEnvironment.application ;
}
@Test
public void testFragmentInstantiation() {
ExampleFragment.mAppController = (AppController)mContext;
}
复制-运行任何测试
Robolectric版本是3.4.1。主要建议是不要将清单文件位置放在
@Config
部分,除非您知道自己在做什么。因此,请将您的测试注释更改为:
@Config(constants = BuildConfig.class, sdk = 21)
此外,我不知道这是否是出于目的,但您可以在最新版本的Robolectric测试中使用更新得多的android sdk。主要建议是,除非您知道自己在做什么,否则不要将清单文件位置放在
@Config
部分。因此,请将您的测试注释更改为:
@Config(constants = BuildConfig.class, sdk = 21)
此外,我不知道这是否是出于目的,但您可以在最新版本的Robolectric测试中使用更新得多的android sdk