Цепная деятельность в робототехнических испытаниях

1

Я пытаюсь подтолкнуть свои тесты к межоперационным связям и проверить это, например, после правильного входа в систему, я создаю правильную деятельность (из двух возможных действий).

Вот как выглядит мой код:

@RunWith(GuiceRobolectricJUnitRunner.class)
public class LoginActivityTest {
@Inject
private LoginActivity activity;
@Inject
private ExplorerActivity startedActivity ;
@Inject
private Context context;

private Button loginButton;
private EditText login;
private EditText password;

@Before
public void setUp() throws Exception {
    activity.onCreate(null);
    loginButton = (Button) activity.findViewById(R.id.identification_login_button);
    login = (EditText) activity.findViewById(R.id.txtLogin);
    password = (EditText) activity.findViewById(R.id.txtPassword);

}

@Online
@Test
public void shouldExploreWhenLoginIsCorrect() throws Exception {
    assertNotNull(activity);
    login.setText("[email protected]");
    password.setText("test");
    activity.setIntent(new Intent());
    loginButton.performClick();
    ShadowActivity shadowActivity = Robolectric.shadowOf(activity);
    Intent startedIntent = shadowActivity.getNextStartedActivity();
    ShadowIntent shadowIntent = Robolectric.shadowOf(startedIntent);
    assertEquals(shadowIntent.getIntentClass(), ExplorerActivity.class);
//      startedActivity.setIntent(startedIntent);
//      startedActivity.onCreate(null);


    }
}

Моя проблема в том, что я не могу получить начальную активность из shadowintent. Есть ли способ добиться чего-то подобного? Кроме того, я не вижу anytrace моей активности explorer, и мне было интересно, работает ли Robolectric в песочнице каждый процесс нереста. Мне бы очень понравился пример цепных тестов активности в робоэлектрике. Благодарю.

Теги:
testing
robolectric

1 ответ

4

Поскольку это было 3 месяца назад, вы, возможно, уже нашли свой ответ, если нет, вы можете использовать newInstance() на том, что у вас уже есть, а затем продолжить в соответствии с нормальным.

ExplorerActivity explorerActivity = (ExplorerActivity) shadowIntent.getIntentClass().newInstance();
explorerActivity.setIntent(startedIntent);
explorerActivity.onCreate(null);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню