Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Robolectric未调用Application.onCreate()_Android_Robolectric - Fatal编程技术网

Android Robolectric未调用Application.onCreate()

Android Robolectric未调用Application.onCreate(),android,robolectric,Android,Robolectric,我对机器人分子很陌生。在从Robolectric v3.0迁移到v3.4.1之后,我面临着这些问题 Robolectric没有加载扩展应用程序的myAppController类 我在转换到RuntimeEnvironment.application到我的AppController时遇到类转换异常,这不应该是因为我的AppController扩展了应用程序,并且在迁移到最新版本之前工作正常 请在下面找到我的测试代码 @RunWith(RobolectricTestRunner.class) @Co

我对机器人分子很陌生。在从Robolectric v3.0迁移到v3.4.1之后,我面临着这些问题

  • Robolectric没有加载扩展应用程序的my
    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