Для полного покрытия кода вашего ПО необходимо реализовать хост-тесты архива Java (JAR). Следуйте инструкциям по созданию локальных модульных тестов. Создавайте небольшие модульные тесты, чтобы проверять только определенную функцию.
Пример
В следующем файле Blueprint приведен простой пример теста хоста JAR Hello World, который можно скопировать и адаптировать под свои нужды: platform_testing/tests/example/jarhosttest/Android.bp
Это соответствует фактическому коду теста, который находится по следующему пути: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Для удобства здесь приведена копия файла Blueprint:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Объявление java_test_host в начале указывает, что это хост-тест JAR. Пример использования можно найти в файле:
frameworks/base/tools/powermodel/Android.bp
Настройки
Ниже приведены описания следующих настроек:
Параметр
nameобязателен, если указан тип модуляjava_test_host(в начале блока). Этот параметр позволяет задать название модуля. Полученный JAR-файл будет иметь то же название и суффикс.jar. В примере ниже полученный JAR-файл теста называетсяHelloWorldHostTest.jar. Кроме того, этот параметр определяет целевое имя для модуля, чтобы вы могли использоватьmake [options] <HelloWorldHostTest>для создания тестового модуля и всех его зависимостей.name: "HelloWorldHostTest",Настройка
test_suitesпозволяет легко найти тест с помощью тестового пакета Trade Federation. Здесь можно добавить другие наборы тестов, например CTS, чтобы можно было использовать общий тест хоста JAR.test_suites: ["general-tests"],Параметр
static_libsуказывает системе сборки включить содержимое указанных модулей в полученный APK-файл текущего модуля. Это означает, что каждый именованный модуль должен создать файл.jar. Контент модуля используется для разрешения ссылок на classpath во время компиляции и включается в полученный APK-файл.static_libs: [ "junit", ],