Android, Junit и testPreconditions()

#android #eclipse #junit

#Android #eclipse #junit

Вопрос:

Я пытаюсь выполнить некоторые тесты в базе данных моего приложения. У меня есть только одно действие в моем приложении («Home»), поэтому мой тестовый класс является
общедоступным классом HomeTest extends ActivityInstrumentationTestCase2 {..}

Мои проблемы :

1) У разработчиков Android я видел, что метод testPreconditions () должен запускаться перед всеми тестами, но в моем приложении он действует как обычный тест…

2) Я хотел бы заполнить свою базу данных до начала всех других тестов. Но для этого мне нужна ссылка на мою активность, но я не могу вызвать «this.getActivity» в конструкторе тестов … Есть ли способ что-то сделать после конструктора? (Метод setUp() не подходит, потому что он вызывается перед каждым тестом, а не только один раз перед всеми)

Спасибо

Ответ №1:

  1. Порядок, в котором выполняются тесты, не гарантируется, что они будут выполняться перед другими тестами, поскольку junit 3 использует отражение для поиска тестов.

  2. Используйте setUp() метод, это также гарантирует, что ваши тесты выполняются со свежей базой данных

Комментарии:

1. Хорошо для 1) ! Для 2) мне нужен был метод, который запускается только один раз перед всеми тестами, но я, наконец, изменил свой способ тестирования… Спасибо!

2. Вы можете добавить переменную, чтобы она запускалась только один раз?