im, написав простой модульный тест в Junit, пытаясь проверить, соответствуют ли мои намерения моим 2 пунктам меню переполнения панели действий правильной деятельностью. Im имея вопрос с моим испытанием возвращается вЭлементы меню тестирования устройства в переполнении панели действий
junit.framework.AssertionFailedError: expected:<true> but was:<false> (**FIXED**)
Я также пытаюсь выяснить, как проверить, что деятельность был успешно открыт, и это был ожидаемый деятельность начал.
Любая помощь, примеры и комментарии приветствуются.
public void testThatMenuWillOpenSettings() {
// Will be sending Key Event to open Menu then select something
ActivityMonitor am = getInstrumentation().addMonitor(
Settings.class.getName(), null, false);
// Click the menu option
getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
getInstrumentation().invokeMenuActionSync(mActivity,
com.example.app.R.id.menu_settings, 0);
// If you want to see the simulation on emulator or device:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Activity a = getInstrumentation().waitForMonitorWithTimeout(am, 1000);
assertEquals(true, getInstrumentation().checkMonitorHit(am, 1));
// Check type of returned Activity:
assertNotNull(a);
assertTrue(a instanceof Settings);
a.finish();
}
Я использую (ActivityInstrumentationTestCase2) для этого модульного теста.
Я попытался обновить свой код своими рекомендациями, я верю, не стесняйтесь редактировать, если вам нужно. Благодарим за помощь –
@JaisonBrooksDevelopment, если, щелкнув пункт меню «R.id.menu_settings», откройте FooActivity в своем приложении, а затем в тестовом проекте, чтобы проверить это (FooActivity открывается нажатием menu_settings), ваш ActivityMonitor должен контролировать 'FooActivity.class.getName()'. Я протестировал и воспроизвел «AssertionFailedError: expected:, но был: ' с моим собственным проектом, поэтому я совершенно уверен, что это причина. –
yorkw
Это сработало отлично. большое спасибо –