Проверьте макет Compose

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

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

Просмотры

Если вы работаете с представлениями вместо создания, см. общий раздел «Тестирование приложений на Android» .

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

Ключевые понятия

Ниже приведены некоторые ключевые концепции тестирования кода Compose.

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

Шпаргалка по тестированию

См. шпаргалку по тестированию , где представлен обзор всех ключевых тем, которые вам следует изучить при тестировании в Compose.

Настраивать

Настройте свое приложение, чтобы вы могли тестировать код компоновки.

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

// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")

Этот модуль включает ComposeTestRule и реализацию для Android под названием AndroidComposeTestRule . С помощью этого правила вы можете настроить создание контента или доступ к действию. Вы создаете правила, используя фабричные функции: createComposeRule или, если вам нужен доступ к действию, createAndroidComposeRule . Типичный тест пользовательского интерфейса для Compose выглядит так:

// file: app/src/androidTest/java/com/package/MyComposeTest.kt

class MyComposeTest {

    @get:Rule val composeTestRule = createComposeRule()
    // use createAndroidComposeRule<YourActivity>() if you need access to
    // an activity

    @Test
    fun myTest() {
        // Start the app
        composeTestRule.setContent {
            MyAppTheme {
                MainScreen(uiState = fakeUiState, /*...*/)
            }
        }

        composeTestRule.onNodeWithText("Continue").performClick()

        composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
    }
}

Дополнительные ресурсы

  • Тестирование приложений на Android . На главной целевой странице тестирования Android представлено более широкое представление об основах и методах тестирования.
  • Основы тестирования . Узнайте больше об основных концепциях тестирования приложений для Android.
  • Локальные тесты : некоторые тесты можно запускать локально, на своей рабочей станции.
  • Инструментальные тесты . Рекомендуется также проводить инструментальные тесты. То есть тесты, которые запускаются непосредственно на устройстве.
  • Непрерывная интеграция . Непрерывная интеграция позволяет интегрировать тесты в конвейер развертывания.
  • Тестируйте разные размеры экрана . Поскольку пользователям доступно множество устройств, вам следует протестировать разные размеры экрана.
  • Espresso : Хотя знания Espresso предназначены для пользовательских интерфейсов на основе представлений, они все же могут быть полезны для некоторых аспектов тестирования Compose.

Кодлаб

Чтобы узнать больше, попробуйте кодовую лабораторию Jetpack Compose Testing .

Образцы

Mir 2: Return of the King 是 Actoz Soft 授权的优质《传奇》IP 移动游戏,由 HK ZHILI YAOAN LIMITED 使用 Unity 游戏引擎开发。 这款游戏不仅完美再现了韩国奇幻类 MMORPG 的代表作 Mir 2 的游戏氛围,还提供了许多最受欢迎的游戏内容,例如装备收集、大规模沙漠攻击和其他核心玩法。 该游戏使用了 Android Frame Pacing 库 (Swappy) 来提高帧速率的稳定性、实现流畅的渲染,并显著提升了 Android

鸣潮 是一款由 Kuro Games 开发的高保真动作角色扮演游戏。为了持续为长时间的游戏会话提供卓越的用户体验,优化功耗非常重要。 Android Studio 从 Hedgehog (2023.1.1) 开始引入了 功耗性能分析器 ,可帮助开发者根据设备端电源轨监视器 (ODPM) 了解功耗数据。 借助 Android Studio 中的功耗性能分析功能,您还可以 有效地对 Android 应用功能的功耗进行 A/B 测试 (如下所示)。 Kuro Games 首先使用 Android

Godot Engine 是一个广受欢迎的多平台开源游戏引擎,对 Android 提供强大的支持。Godot 可用于制作几乎任何类型的游戏,并且支持 2D 和 3D 图形。Godot 4 版引入了新的渲染系统,该系统具有用于高保真图形的高级功能。Godot 4 渲染程序专为 Vulkan 等现代图形 API 而设计。 Godot Foundation 聘请了 The Forge Interactive 的图形优化专家,并与 Google 合作分析和进一步改进了 Godot 4 Vulkan

{% дословно %}

Пока рекомендаций нет.

Попытайтесь в свой аккаунт Google.

{% дословно %}