Как запустить тестирование на фрагменте действий
Я только начинаю сjunit
и первый вопрос, который яв том, как я должен проверить фрагменты?
Тестируемая деятельность имеет 1 фрагмент, который является основным макетом.
@Override
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),
ActivityWelcome.class);
startActivity(intent, null, null);
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
mFragmentWelcome = (FragmentWelcome) fragmentManager.findFragmentByTag(FragmentWelcome.TAG);
if (mFragmentWelcome == null) {
mFragmentWelcome= FragmentWelcome.newInstance();
fragmentManager
.beginTransaction()
.replace(android.R.id.content, mFragmentWelcome, FragmentWelcome.TAG)
.commit();
}
}
Затем я продолжаю тестировать макет:
@SmallTest
public void testLayout() {
ImageButton buttonImage = (ImageButton) getActivity().findViewById(my.package.R.id.button_invites);
assertNotNull(buttonImage);
assertEquals("ImageButton Invite has an invalid drawable"
, getActivity().getResources().getDrawable(my.package.R.drawable.light_social_invite)
, buttonImage);
}
Ошибка:
java.lang.NullPointerException
at my.package.test.ActivityWelcomeUnitTest.testLayout(ActivityWelcomeUnitTest.java:55)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
это терпит неудачу: я '
ImageButton buttonImage = (ImageButton) mFragmentWelcome.getView().findViewById(my.package.R.id.button_invites);
Я не уверен, почему фрагмент является нулевым, я, очевидно, неправильно выполняю эту операцию, может кто-нибудь, пожалуйста, просветите меня?