Как сделать тест на android studio

Обновлено: 07.07.2024

Просто скачал Android Studio, основанный на идее Intellij Idea.

Как создать тесты?

Я замечаю, что есть возможность создать тестовый модуль, но это ничего не делает, только создайте новый проект с src

Я также попытался нажать горячую клавишу CTRL + AlT + T, которая позволяет создавать модульные тесты для существующего класса, но, похоже, хочет разместить его в текущем проекте. Конечно, это не помогает с TDD

У кого-нибудь есть опыт здесь?

Изменить: с 0.1.8 это теперь поддерживается в среде IDE . Пожалуйста, следуйте инструкциям, а не следуя инструкциям ниже.

Это провело мои тесты и поместило результаты теста в MyApplicationProject / MyApplication / build / reports / instrumentTests / connected. Я новичок в тестировании приложений для Android, но, похоже, он работает нормально.

Изнутри IDE можно попробовать запустить один и тот же тестовый класс. Вам нужно будет

Однако это терпит неудачу (для пути класса, используемого при запуске тестов, отсутствует тестовый выходной каталог). Тем не менее, я не уверен, что это будет работать независимо от того, насколько я понимаю, что требуется специальный тестировщик Android.

Я бы предложил использовать файл gradle.build .

Добавьте каталог src / androidTest / java для тестов (как Крис начинает объяснять)

Откройте файл gradle.build и укажите там:

Теперь вы можете создать там тестовые файлы и выполнить их.

На данный момент (студия 0.61) достаточно поддерживать надлежащую структуру проекта. Не нужно создавать отдельный тестовый проект, как в eclipse (см. Ниже).

Структура тестов

Этот ответ предназначен для людей, которые только начинают работать с Android-тестированием. Я приведу два простых примера, которые помогут вам понять, как работает тестирование. Если вы последуете в течение следующих 10 минут, вы все настроите, чтобы начать добавлять свои тесты в свое приложение. Я думаю, вы будете удивлены, насколько это просто. Я определенно был.

Есть два разных типа тестов, которые вы будете делать.

  • Локальные тесты. Они запускаются локально на JVM (виртуальная машина Java). Поскольку они локальные, они быстры. Вы можете использовать их для проверки частей вашего кода, которым требуется Java, а не API Android. (Иногда вы можете создать фальшивый объект API для локального тестирования других вещей. Это называется насмешкой . Примером может служить Context ).
  • Приборные испытания. Эти тесты выполняются на реальном устройстве или в эмуляторе. Это делает их медленнее, чем местные тесты. Однако они более гибкие, потому что у вас есть полный Android API, доступный для вас.

Создайте новый проект, и вы увидите следующие папки по умолчанию.

Введите описание изображения здесь

Все уже существует и ждет, когда вы создадите свои тесты. Все уже создано!

Откройте файл ExampleUnitTest показанный на изображении выше. Он должен выглядеть примерно так:

Нажмите двойную зеленую стрелку, чтобы запустить все тесты или одну зеленую стрелку, чтобы запустить только одну. (В этом случае есть только один тест, поэтому оба делают то же самое.)

Введите описание изображения здесь

Он должен пройти (пока 2 + 2 все равно 4 когда вы читаете этот ответ). Поздравляем, вы только что проверили свой первый тест!

Создание собственного теста

Давайте напишем собственный тест. Сначала добавьте этот класс в свой основной проект приложения, чтобы у нас было что-то испытать:

Теперь измените метод addition_isCorrect() в тестовом классе как похожий на следующий код (или просто добавьте другой метод с другим именем):

Запустите его снова, и вы увидите, как он пройдет. Поздравляем, вы только что создали свой собственный первый тест! (Ну, я думаю, технически это было мое, но, эй, достаточно близко. Какая у меня твоя.)

Откройте файл ExampleInstrumentedTest . Он должен выглядеть примерно так:

Снова нажмите одну из этих зеленых кнопок.

Введите описание изображения здесь

Пока у вас есть реальное устройство, подключенное или настроенный эмулятор, он должен был запустить его и запустить ваше приложение. Поздравляем, вы только что проверили свой первый инструментальный тест!

Создание собственного теста

Приборные тесты используют Espresso для запуска тестов. Это похоже на вашего собственного маленького пользователя-робота, с которым вы можете протестировать свое приложение. Вы можете сказать ему сделать что-то вроде нажатия кнопки или чтения свойств TextView.

Вы можете написать инструкции о том, как выполнить тест вручную, но поскольку мы только начинаем, давайте использовать функцию автоматической записи . Это очень просто.

Сначала добавьте кнопку в свой интерфейс, чтобы у нас было с чем работать. Я сделал это:

Введите описание изображения здесь

Большой! Вы только что создали свой первый инструментальный тест! Это было очень легко. Вероятно, вы должны добавить утверждение, чтобы сделать его настоящим тестом, но это довольно легко сделать с рекордером. Посмотрите это видео, чтобы пойти немного глубже.

Сначала я посмотрел видео, а затем прочитал документацию. Это все очень полезно. Последняя ссылка на ряд статей, которые охватывают некоторые важные вещи, о которых нужно подумать, когда выбираете, что тестировать.

  • Шаблоны тестирования Android (короткие видеоролики от разработчиков Android)
  • Начало работы с тестированием (Android-документы)
  • Три шага к качеству кода через TDD

Android Studio продолжает развиваться, поэтому приведенные выше ответы в конечном итоге не будут применяться. Для текущей версии Android Studio 1.2.1.1 есть хороший учебник по тестированию на:

Одним из основных изменений, по-видимому, является то, что с Android Studio тестовое приложение интегрировано в проект приложения.

Я не уверен, что это помогает вашей конкретной проблеме, но я нашел руководство по проведению тестов с проектом Gradle. Руководство пользователя Android Gradle

Удачи, делая ваш код более читабельным, удобным и проверенным!

Android Studio была своего рода движущейся целью, сначала являющейся предварительным просмотром для разработчиков, и в настоящее время находится в бета-версии. Путь для классов Test в проекте изменился во времени, но независимо от того, какую версию AS вы используете, путь объявляется в вашем .iml-файле. В настоящее время с версией 0.8.3 вы найдете следующее внутри внутреннего iml-файла:

Файл .iml сообщает вам, где разместить тестовые классы.

Начиная с Android Studio 1.1, у нас есть официальная (экспериментальная) поддержка для написания Unit Tests (Roboelectric работает также).

Добавьте ниже lib внутри файла градиента

Создайте класс HomeActivityTest внутри каталога androidTest и перед запуском теста добавьте строки flurry_api_key и sender_id в файл строковых ресурсов и измените значение для случая сбоя и успеха.

Создайте новый проект, и вы увидите следующие папки по умолчанию.


Все уже есть и ждут, когда вы создадите свои тесты. Все уже настроено!

Открыть ExampleUnitTest файл, показанный на изображении выше. это должно выглядеть примерно так:

Нажмите двойную зеленую стрелку, чтобы запустить все тесты, или одну зеленую стрелку, чтобы запустить только один. (В этом случае есть только один тест, поэтому они оба делают одно и то же.)


Он должен пройти (пока 2 + 2 все еще 4 когда вы читаете этот ответ). Поздравляем, вы только что выполнили свой первый тест!

Сделайте свой собственный тест

Напишем свой тест. Сначала добавьте этот класс в свой основной проект приложения, чтобы нам было что протестировать:

Теперь измените addition_isCorrect() в тестовом классе, как в следующем коде (или просто добавьте еще один метод с другим именем):

Запустите его снова, и вы увидите, что он прошел. Поздравляем, вы только что создали свой первый тест! (Ну, технически я предполагаю, что это было мое, но, эй, достаточно близко. То, что мое, твое.)

Открыть ExampleInstrumentedTest файл. это должно выглядеть примерно так:

Снова нажмите одну из этих зеленых кнопок.


Пока у вас подключено реальное устройство или настроен эмулятор, он должен был запустить его и запустить ваше приложение. Поздравляем, вы только что выполнили свой первый инструментальный тест!

Сделайте свой собственный тест

Инструментальные тесты используют Espresso для запуска тестов. Это как ваш собственный маленький пользователь-робот, которого вы можете протестировать. Вы можете сказать ему сделать что-то вроде нажатия кнопки или чтения свойств TextView.

Вы можете написать инструкции, как проводить тест вручную, но, поскольку мы только начинаем, давайте воспользуемся функцией автоматической записи. Все очень просто.

Сначала добавьте кнопку в свой пользовательский интерфейс, чтобы нам было с чем поработать. Я сделал это:

Затем нажмите Выполнить> Записать тест эспрессо в меню.


После его запуска нажмите кнопку в эмуляторе, а затем, чтобы закончить, выберите ОК в диалоговом окне записи. Он должен автоматически сгенерировать следующий тестовый код.

Большой! Вы только что создали свой первый инструментальный тест! Это было очень просто. Вам, вероятно, следует добавить утверждение, чтобы провести настоящий тест, но это довольно легко сделать и с рекордером. Посмотрите это видео, чтобы узнать больше.

Я сначала смотрел видео, а потом читал документацию. Все это очень полезно. Последняя ссылка - это серия статей, в которых рассказывается о некоторых важных вещах, о которых следует подумать при выборе того, что тестировать.

Изменить: начиная с версии 0.1.8 это теперь поддерживается в IDE. Пожалуйста, следуйте инструкциям там, вместо того, чтобы использовать инструкции ниже.

Следуя руководству пользователя подключаемого модуля Android Gradle, я смог получить тесты, работающие в командной строке, выполнив следующие шаги во вновь созданном проекте (я использовал пакет com.example.myapplication по умолчанию):

  1. Добавьте каталог src / instrumentTest / java для тестов
  2. Добавьте тестовый класс (расширяющий ActivityTestCase) в пакет com.example.myapplication.test
  3. Запустить виртуальное устройство
  4. В командной строке (в каталоге MyApplicationProject / MyApplication) используйте команду '../gradlew connectedInstrumentTest'

Это запустило мои тесты и поместило результаты тестов в MyApplicationProject / MyApplication / build / reports / instrumentTests / connected. Я новичок в тестировании приложений для Android, но, похоже, все работает нормально.

Из среды IDE можно попробовать запустить тот же тестовый класс. Вам нужно будет

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

Я бы предложил использовать gradle.build файл.

Добавить src / androidTest / java каталог для тестов (Like Крис начинает объяснять)

открыто gradle.build файл и укажите там:

Теперь вы можете создавать там любые тестовые файлы и запускать их.

Я думаю, что этот пост Рекса Сент-Джона очень полезен для модульного тестирования с помощью студии Android.


Android Studio v.2.3.3

Выделите контекст кода, который вы хотите протестировать, и используйте горячую клавишу: CTRL + SHIFT + T

Используйте диалоговый интерфейс, чтобы завершить настройку.

Платформа тестирования должна отражать макет пакета вашего проекта для достижения наилучших результатов, но вы можете вручную создавать собственные тесты при условии, что у вас есть правильный каталог и настройки сборки.

На данный момент (студия 0.61) достаточно поддерживать правильную структуру проекта. Нет необходимости создавать отдельный тестовый проект, как в eclipse (см. Ниже).


Android Studio продолжает развиваться, поэтому приведенные выше ответы в конечном итоге больше не будут применяться. Для текущей версии Android Studio 1.2.1.1 есть хорошее руководство по тестированию по адресу:

  • 2 Да, AS продолжает развиваться, поэтому для кого-то довольно глупо создавать статью о передовых технологиях и никогда не упоминать номер версии, к которой она относится. единственная подсказка - это дата в самом низу.

Одним из основных изменений, по-видимому, является то, что в Android Studio тестовое приложение интегрировано в проект приложения.

Я не уверен, помогает ли это вашей конкретной проблеме, но я нашел руководство по созданию тестов с помощью проекта Gradle. Руководство пользователя Android Gradle

Удачи вам в создании более читабельного, поддерживаемого и хорошо протестированного кода!

Android Studio была своего рода движущейся мишенью, сначала это была предварительная версия для разработчиков, а сейчас находится в стадии бета-тестирования. Путь к тестовым классам в проекте со временем изменился, но независимо от того, какую версию AS вы используете, путь объявлен в вашем .iml файле. В настоящее время во внутреннем iml-файле версии 0.8.3 вы найдете следующее:

Файл .iml сообщает вам, где разместить тестовые классы.

Начиная с Android Studio 1.1, у нас есть официальная (экспериментальная) поддержка написания модульных тестов (Roboelectric также работает).

Добавьте ниже lib внутри файла gradle

Создайте класс HomeActivityTest в каталоге androidTest и перед запуском теста добавьте строку flurry_api_key и sender_id в файл строковых ресурсов и измените значение для случая сбоя и успеха.

Просто скачан Android Studio, основанный на идее Intellij Idea.

Как создать тесты?

Я замечаю, что есть возможность создать тестовый модуль, но это ничего не делает, только создайте новый проект с помощью src

Я также попытался нажать горячую клавишу CTRL + AlT + T, которая позволяет создавать модульные тесты для существующего класса, но, похоже, хочет разместить его в текущем проекте. Конечно, это не помогает с TDD

Есть ли у кого-нибудь опыт?

Изменить: с 0.1.8 это теперь поддерживается в среде IDE. Пожалуйста, следуйте инструкциям там, вместо использования нижеприведенных инструкций.

Следуя Android Gradle Руководство пользователя плагина, я смог получить тесты, работающие в командной строке, выполнив следующие шаги для вновь созданного проекта (я использовал пакет по умолчанию "com.example.myapplication" ):

    Добавить каталог src/instrumentTest/java для тестов
    Добавить тестовый класс (расширяющий ActivityTestCase) в пакете com.example.myapplication.test
    Запустить виртуальное устройство
    В командной строке (в каталоге MyApplicationProject/MyApplication) используйте команду "../gradlew connectedInstrumentTest"

Это провело мои тесты и поместило результаты теста в MyApplicationProject/MyApplication/build/reports/instrumentTests/connected. Я новичок в тестировании приложений для Android, но, похоже, он работает нормально.

В среде IDE можно попробовать запустить один и тот же тестовый класс. Вам нужно

    Обновить build.gradle для отображения Maven Central как репо
    Обновление build.gradle добавляет JUnit 3.8 в качестве зависимости инструмента TESTCompile, например. instrumentTestCompile 'junit: junit: 3.8'
    В "Структура проекта" вручную переместите JUnit первым в порядке зависимости

Однако это терпит неудачу (в классеpath, используемом при запуске тестов, отсутствует тестовый выходной каталог). Тем не менее, я не уверен, что это будет работать независимо от того, насколько я понимаю, что требуется специальный тестовый бегун для Android.

Всем привет, я пока что андроид лузер, начал писать програмку с тестами так как тестов планируется несколько, то собрал их в листвью на первом активити, для каждого теста создал отдельный активити, а дальше застрял.
Что планируется-описание одного теста: Ряд вопросов по три-четыре варианта ответа, у каждого варианта свой бал, в конце набранное количество балов суммируется и выдается результат в виде текста соответствующий набрранному кол-ву баллов.

Как реализовать приложение для частичного управления файловой системой сайта?
Здравствуйте! Есть у меня обычный сайт на ucoz. На этом сайте есть один текстовый файл, скажем.

Добавить свою базу вопросов с ответами в готовое приложение для тестирования
Ребят , есть приложение для тестирования, обычное , для тестов на психологию. Нужно в него добавить.


Реализовать класс строки CMyString и приложение для тестирования этого класса
Реализовать класс строки CMyString и приложение для тестирования этого класса. Класс должен иметь.

Реализовать класс строки CMyString и приложение для тестирования этого класса
Реализовать класс строки CMyString и приложение для тестирования этого класса. Класс должен иметь.

Читайте также: