ActivityUnitTestCase を拡張する単体テストを含むプロジェクトがありますが、ActionBar を使用するために android-support-v7-appcomapt プロジェクト ライブラリをインストールすると、これらのテストが機能しなくなりました。また、いくつかの ActivityInstrumentationTestCase2 テストがあり、正常に動作しています。これが私のセットアップです
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(), MyActivity.class);
startActivity(intent, null, null); // The exception happens here
veActivity = getActivity();
//getInstrumentation().callActivityOnStart(veActivity);
}
startActivity を呼び出さない場合、veActivity は null です。
java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{mypackage/mypackage.MyActivity}
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:282)
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:116)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at sysnetlab.android.sdc.ui.ViewExperimentActivity.onCreate(ViewExperimentActivity.java:36)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:158)
at sysnetlab.android.sdc.test.myActivityTests.setUp(MyActivityTests.java:34)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Caused by: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{mypackage/mypackage.MyActivity}
at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:242)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:298)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:279)
... 17 more
ここ StackOverflow にある多くの提案を試しましたが、そのほとんどがこの例外につながりました。
android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{mypackage/mypackage.MyActivity}