Testowanie układu tworzenia wiadomości

Przetestuj interfejs aplikacji, aby sprawdzić, czy kod tworzenia wiadomości działa prawidłowo. Pozwoli to wykryć błędy na wczesnym etapie i poprawić jakość aplikacji.

Compose udostępnia zestaw interfejsów API do testowania, które umożliwiają znajdowanie elementów, weryfikowanie ich atrybutów i wykonywanie działań użytkownika. Interfejsy API zawierają też zaawansowane funkcje, takie jak manipulowanie czasem. Korzystaj z tych interfejsów API, aby tworzyć niezawodne testy, które sprawdzają działanie aplikacji.

Wyświetlenia

Jeśli pracujesz z widokami, a nie z Compose, zapoznaj się z ogólnymi informacjami w sekcji Testowanie aplikacji na Androidzie.

Na początek warto zapoznać się z przewodnikiem Automatyzowanie testów interfejsu. Pokazuje on, jak zautomatyzować testy wykonywane na urządzeniu, w tym przy użyciu widoków.

Kluczowe pojęcia

Poniżej przedstawiamy kilka najważniejszych koncepcji dotyczących testowania kodu Compose.

  • Semantyka: testy komponowania współpracują z interfejsem za pomocą semantyki, która nadaje znaczenie elementom interfejsu i jest generowana wraz z hierarchią interfejsu.
  • Interfejsy API do testowania: Compose udostępnia interfejsy API do testowania, które umożliwiają znajdowanie elementów, tworzenie twierdzeń dotyczących ich stanu i właściwości oraz wykonywanie działań w celu symulowania interakcji z użytkownikiem.
  • Synchronizacja: domyślnie testy funkcji tworzenia wiadomości są automatycznie synchronizowane z interfejsem użytkownika i czekają na stan bezczynności przed wykonywaniem asercji lub wykonywaniem innych czynności.
  • Współdziałanie: w aplikacjach hybrydowych testy mogą płynnie współdziałać z elementami korzystającymi z tworzenia i wyświetlania oraz integrować się z innymi platformami testowymi.

Ściągawka dotycząca testowania

Aby poznać wszystkie najważniejsze tematy związane z testowaniem w Compose, zapoznaj się z ściągawką dotyczącą testów.

Konfiguracja

Skonfiguruj aplikację, aby umożliwić testowanie kodu Compose.

Najpierw do pliku build.gradle modułu zawierającego testy interfejsu użytkownika dodaj te zależności:

// 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")

Moduł ten zawiera ComposeTestRule i implementację AndroidComposeTestRule na Androida. Dzięki tej regule możesz ustawić tworzenie treści lub uzyskać dostęp do aktywności. Reguły tworzysz za pomocą funkcji fabrycznych: createComposeRule lub createAndroidComposeRule, jeśli potrzebujesz dostępu do aktywności. Typowy test interfejsu użytkownika w Compose wygląda tak:

// 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()
    }
}

Dodatkowe materiały

  • Testowanie aplikacji na Androida: główna strona docelowa testowania na Androida zawiera szersze omówienie podstaw i technik testowania.
  • Podstawy testowania: dowiedz się więcej o podstawowych założeniach testowania aplikacji na Androida.
  • Testy lokalne: niektóre testy możesz przeprowadzać lokalnie na swoim komputerze.
  • Testy z instrumentacją: warto też przeprowadzać testy z instrumentacją. Chodzi o testy, które są wykonywane bezpośrednio na urządzeniu.
  • Tryb ciągłej integracji: tryb ciągłej integracji umożliwia zintegrowanie testów z potokiem wdrożeniowym.
  • Testowanie różnych rozmiarów ekranu: ze względu na dużą liczbę urządzeń dostępnych dla użytkowników, należy przeprowadzić testy na różnych rozmiarach ekranu.
  • Espresso: chociaż wiedza o Espresso jest przeznaczona dla interfejsu opartego na widoku, może okazać się przydatna w niektórych aspektach testowania funkcji Compose.

Ćwiczenia z programowania

Aby dowiedzieć się więcej, skorzystaj z kompilacji kodu testowego Jetpack Compose.

Próbki

Mir 2: Return of the King to wysokiej jakości gra mobilna o postaciach z Legendy, która została autoryzowana przez Actoz Soft i oparta na silniku Unity. Ta gra nie tylko doskonale odtwarza wrażenia z Mir 2, koreańskiej gry fantasy typu MMORPG, ale

Wuthering Waves to fabularna gra akcji z grafiką wysokiej jakości stworzona przez Kuro Games. Optymalizacja zużycia energii jest bardzo ważna, aby zapewnić użytkownikom najwyższą jakość wrażeń podczas długich sesji grania. Android Studio wprowadziło

Godot Engine to popularny wieloplatformowy silnik gier typu open source, który zapewnia solidne wsparcie dla Androida. Godot może służyć do tworzenia gier praktycznie dowolnego gatunku. Umożliwia tworzenie grafiki 2D i 3D. Wersja 4 Godota wprowadziła

Obecnie nie ma rekomendacji.

na swoje konto Google.