удалить приложение перед началом теста

Мы пытаемся написать инструментальный тест для нашего приложения.

Например я хочу написать тест для авторизации/регистрации.

Однако перед каждым тестом я хочу быть неавторизованным? поэтому мне нужно очистить все данные, удалить БД и т. д.

Так есть ли способ удалить приложение или данные приложения перед каждым тестом?


person Korniltsev Anatoly    schedule 20.12.2013    source источник
comment
Итак, какой код можно было бы использовать? Можете ли вы поделиться своим примером?   -  person HRVHackers    schedule 06.05.2016


Ответы (3)


Используйте аннотации, например:

@BeforeEach

и поместите туда код очистки.

person Jigish Chawda    schedule 23.12.2013

Используя Android Studio, вы можете создать тестовую конфигурацию, которая сначала удалит ваше приложение перед запуском теста.

Создайте новый внешний инструмент.

  1. Перейдите в «Настройки» -> «Внешние инструменты».
  2. Нажмите на значок «+», чтобы создать новый инструмент.
  3. Установите имя на «Удалить myApp» (или как вам нравится)
  4. Установите для группы значение «Пользовательские инструменты» (или что вам нравится)
  5. Установите программу на «adb»
  6. Установите параметры для удаления
  7. Нажмите «ОК».

Вы можете проверить, работает ли этот новый инструмент, щелкнув Tools->Custom Tools->"Uninstall myApp".

Шаг 2. Создайте или отредактируйте тестовую конфигурацию.

  1. Перейдите к редактированию конфигураций.
  2. Выберите конфигурацию Android Tests, которую вы хотите изменить.
  3. В разделе «Перед запуском:…» щелкните значок «+».
  4. Выберите «Запустить внешний инструмент».
  5. Во всплывающем окне выберите новый инструмент «Удалить myApp».
  6. Используйте стрелки, чтобы внешний инструмент находился над любыми другими командами, такими как Gradle-aware Make».
  7. Нажмите «ОК».

Теперь, когда вы запускаете эту конфигурацию, ваше приложение должно быть сначала удалено, прежде чем ваши тесты будут запущены.

person dannyhan12    schedule 28.06.2014
comment
Я хотел очистить все данные в каждом тесте, а не запускать набор тестов. - person Korniltsev Anatoly; 30.06.2014

Этот вопрос задавали в 13 году. С тех пор мы прошли долгий путь. В Android есть средство запуска тестов jUnit, которое поставляется с механизмом очистки под тестовым оркестратором.

Проверьте это здесь https://developer.android.com/training/testing/junit-runner

person Jasmeet Singh    schedule 13.02.2019