Я обнаружил странную ошибку в моем тестовом модуле.
public class GameActivityUnitTest {
private static ActivityScenario<GameActivity> scenario;
@BeforeClass
public static void createLogHistory() {
scenario = ActivityScenario.launch(GameActivity.class);
// WHEN
scenario.moveToState(Lifecycle.State.CREATED);
}
@Test
public void testPointsChange() {
scenario.onActivity(activity -> {
activity.increaseCoin();
activity.increaseCoin();
activity.decreaseCoin();
assertTrue(activity.coins == 1);;
});
}
@Test
public void testGamePauseStatus() {
scenario.onActivity(activity -> {
activity.view.getTimerController().pause();
assertTrue(activity.view.getPauseStatus());
activity.view.getTimerController().resume();
assertTrue(activity.coins == 1);;
assertFalse(activity.view.getPauseStatus());
});
}
}
Я думаю, что функция, помеченная как @BeforeClass
, используется всеми следующими тестовыми блоками.
То, что я показываю, дает мне ошибка «Нет зарегистрированных приборов».
Однако, если я удаляю метод @BeforeClass, но повторяю код в каждом тестовом модуле.
Ошибка исчезает.
Почему это происходит?
И я не хочу, чтобы код повторялся каждый раз, что мне делать?
Спасибо!