Хорошо ... это более вероятно, будет моя вина;)ActionBarActivity & ActivityUnitTest - NameNotFoundException
Когда я делаю:
public class XmlLifecycleTests extends ActivityUnitTestCase<Main> {
...
(not in setUp)
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setPackage(APP_PACKAGE);
intent.setClassName(APP_PACKAGE, ".gui.Main");
startActivity(intent, null, null);
я получаю:
java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{ar.android.app.gui/ar.android.app.gui.GLarmMain}
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:282)
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:119)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at ar.android.app.gui.Main.onCreate(Main.java:78)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:158)
Обратите внимание, что мой Основная деятельность определяется под .gui, в то время как основной пакет в манифесте - одна папка вверх, поэтому я указал все в намерении. Но заброшенная ошибка, похоже, все еще ошибочна (Пакет, Класс).
Что со мной произошло: у меня была активность A в рабочем приложении. У меня была активность B, которая расширила A в junittest приложении. Я использовал ActivityUnitTestCase для проверки активности B, но я не добавил активность B в мой файл манифеста в моем приложении для тестирования junit. Добавлено его и PackageManager $ NameNotFoundException ушло. – flobacca