Тестирование Android JUnit4 - PullRequest
8 голосов
/ 22 июля 2011

Я хочу запустить несколько тестов JUnit4. Код опирается на некоторые библиотеки Android (Android XML parser), но не создает никаких активностей и так далее. При попытке запустить тесты я обнаружил, что нужный мне класс Android не найден. Есть ли способ запустить тесты JUnit4 с кодом Android, не для проверки активности, а для проверки кода с некоторыми библиотеками.

Ответы [ 3 ]

9 голосов
/ 15 февраля 2012

У меня была та же проблема, и я попытался адаптировать JUnit4 к существующему Android TestRunner, но безуспешно. Поэтому я создал новый проект под названием JUnit4Android . Это библиотека приложений TestRunner для тестов и наборов тестов JUnit4 и JUnit3. Таким образом, вы можете запустить свои существующие тесты JUnit4 с ним. Пожалуйста, найдите больше информации о GitHub:

https://github.com/dthommes/JUnit4Android/wiki

3 голосов
/ 22 июля 2011

Нет способа (который я знаю) использовать JUnit4 на Android. Он поддерживает JUnit3, если это вариант для вас?

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

0 голосов
/ 09 января 2015

Возможно, уже немного поздно, но наконец-то появилось официальное обновление от Google о junit4:

на основе проекта Android-test-kit и некоторых других источников ясно, что: AndroidJUnitRunner - это новый разделитель тестов для Android, который является частью

Тестовая библиотека поддержки Android и может быть загружена через Android Репозиторий поддержки. Новый бегун содержит все улучшения GoogleInstrumentationTestRunner и добавляет дополнительные функции:

- JUnit4 support
- Instrumentation Registry for accessing Instrumentation, Context and Bundle Arguments
- Test Filters @SdkSupress and @RequiresDevice
- Test timeouts
- Sharding of tests
- RunListener support to hook into the test run lifecycle
- Activity monitoring mechanism ActivityLifecycleMonitorRegistry

На самом деле, он уже представлен в репозитории поддержки. Если вы идете на

%ANDROID_HOME%\extras\android\m2repository\com\android\support\test\testing-support-lib\

там можно найти testing-support-lib (aar, jars и т. Д.), Который позволяет использовать JUnit4. Более того, он содержит библиотеку эспрессо в том же месте, что удобно для тестирования пользовательского интерфейса. Похоже, что Android-сайты и поддержка lib официальные ссылки будут скоро обновлены с этой информацией.

...