Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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 DefaultPackageManager.getActivityInfo()上的Robolectric 3.0空指针_Android_Robolectric - Fatal编程技术网

Android DefaultPackageManager.getActivityInfo()上的Robolectric 3.0空指针

Android DefaultPackageManager.getActivityInfo()上的Robolectric 3.0空指针,android,robolectric,Android,Robolectric,我尝试为以下活动创建机器人分子测试(3.0-rc02): public class NotificationActivity extends ActionBarActivity { private NotificationFragment fragment; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo

我尝试为以下活动创建机器人分子测试(3.0-rc02):

public class NotificationActivity extends ActionBarActivity {

private NotificationFragment fragment;

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notification);
}
}
测试如下所示:

@Config(manifest = IConfig.MANIFEST_PATH, emulateSdk = IConfig.SDK_VERSION, reportSdk = IConfig.SDK_VERSION)
@RunWith(RobolectricTestRunner.class)
public class AbstractFragmentTest {

    @Test
    public void test() {
        Robolectric.buildActivity(NotificationActivity.class).setup().visible();
    }
其中SDK_VERSION=18

运行测试时,出现以下错误:

java.lang.NullPointerException
    at org.robolectric.res.builder.DefaultPackageManager.getActivityInfo(DefaultPackageManager.java:164)
    at org.robolectric.util.ActivityController.getActivityInfo(ActivityController.java:65)
    at org.robolectric.util.ActivityController.attach(ActivityController.java:51)
    at org.robolectric.util.ActivityController$1.run(ActivityController.java:121)
    at org.robolectric.shadows.ShadowLooper.runPaused(ShadowLooper.java:309)
    at org.robolectric.shadows.CoreShadowsAdapter$2.runPaused(CoreShadowsAdapter.java:47)
    at org.robolectric.util.ActivityController.create(ActivityController.java:118)
    at org.robolectric.util.ActivityController.create(ActivityController.java:129)
    at org.robolectric.util.ActivityController.setup(ActivityController.java:210)
    at com.viae.common.view.AbstractFragmentTest.test(AbstractFragmentTest.java:31)
有人知道我做错了什么吗

问题已解决

用FragmentActivity代替ActionBarActivity对我起了作用。
我的主要逻辑在活动内部的片段(DialogFragment)中。这两个活动都支持DialogFragment,因此对于我的功能测试,我使用的两个父活动中的哪一个并不重要。

ActionBarActivity
不推荐使用。改用

它是从命令行运行还是从AS运行?你的项目结构是什么?您的调试生成是否更改了应用程序ID?我现在通过将ActionBarActivity更改为FragmentActivity解决了这个问题。我在Eclipse中运行它,并给出了您自己的答案!助人