Тестирование Android JUNIT застряло

1

Я новичок в тестах JUnit, я пытаюсь проверить доступ к базе данных через этот код:

public class SeuticketTest extends ActivityInstrumentationTestCase2<Seuticket> {

    private Seuticket mActivity;

    public SeuticketTest(String name) {
        super("br.com.code.seuticket.android.view",Seuticket.class);
    setName(name);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        mActivity = this.getActivity();
    }


    public void testTicketInsertion() {
        Ticket ticket = new Ticket("123453", "Vip", new Date(), "Vila Country");
        PersistenceTicket persistence = new PersistenceTicket(mActivity);
        persistence.addTicket(ticket);
                       assertEquals(persistence.fetchTicket(ticket.getTicketCode()).getTicketCode(),ticket.getTicketCode());
    }
    public void testUserInsertion() {
        User user = new User();
        user.setPin("1234");
        user.setPhone("9241173");
        PersistenceUser persistence = new PersistenceUser(mActivity);
        persistence.addUser(user);
        assertEquals(persistence.fetchUser().getPin(), user.getPin());
    }

}

Но мои тесты застряли после завершения теста TestTicketInsertion, второй тест продолжает работать вечно, а иногда и до того, как он запускает тесты, это сообщение отображается на консоли: тестовый прогон завершился неудачно: процесс разбился.

Есть идеи? Надеюсь найти ответ здесь. Спасибо людям!

  • 0
    Любая трассировка стека в журнале консоли / отладки? Что происходит, когда вы запускаете только первый тест? Только второй? Когда вы меняете заказ? Возможно ли вам протестировать PersistenceTicket изолированно (предоставляя фиктивное действие или что-то в этом роде?). Я не удивлюсь, если виновным будет метод persistence.fetchUser (), но вам придется отладить его.
  • 0
    по-видимому, тесты выполняются в алфавитном порядке ... неважно, в каком порядке написано, иногда на консоли появляется ошибка: процесс завершился неудачей. Понятия не имею, откуда он взялся ... Я пытался стереть второй метод и написать другой метод, происходит то же самое.
Показать ещё 1 комментарий
Теги:
junit
automated-tests

1 ответ

1

Я совершенно новый для тестирования JUnit в Android и столкнулся с той же проблемой. Убедитесь, что метод tearDown переопределен и вызывает вызов super.

protected void tearDown() throws Exception {
    super.tearDown();
}
  • 0
    Почему никто не к чему это приводит ????

Ещё вопросы

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