Testowanie układu tworzenia wiadomości

Przetestuj interfejs użytkownika aplikacji, aby sprawdzić, czy kod tworzenia wiadomości działa poprawnie. Dzięki temu możesz na wczesnym etapie wychwytywać błędy i poprawić jakość aplikacji.

Tworzenie zawiera zestaw testowych interfejsów API, które pozwalają znajdować elementy, weryfikować ich atrybuty i wykonywać działania użytkowników. Te interfejsy API zawierają też zaawansowane funkcje, takie jak manipulacja czasem. Te interfejsy API pozwalają tworzyć rozbudowane testy sprawdzające działanie aplikacji.

wyświetleń

Jeśli korzystasz z widoków, a nie tworzenia, zapoznaj się z sekcją ogólną Testowanie aplikacji na Androidzie.

Dobrym punktem wyjścia jest przewodnik po automatyzowaniu testów interfejsu użytkownika. Opisujemy w nim, jak zautomatyzować testy wykonywane na urządzeniu, w tym podczas korzystania z widoków danych.

Kluczowe pojęcia

Poniżej znajdziesz kilka kluczowych pojęć związanych z testowaniem kodu tworzenia wiadomości.

  • Semantyki: testy tworzenia wchodzą w interakcję z interfejsem użytkownika za pomocą semantyk, które nadają mu znaczenie i są generowane razem z jego hierarchią.
  • Testowanie interfejsów API: Compose udostępnia testowe interfejsy API służące do znajdowania elementów, tworzenia twierdzeń dotyczących ich stanu i właściwości oraz wykonywania działań w celu symulacji interakcji użytkowników.
  • Synchronizacja: domyślnie testy tworzenia są automatycznie synchronizowane z interfejsem użytkownika, czekając na jego bezczynność przed wykonaniem asercji lub wykonania działań.
  • Współdziałanie: w aplikacjach hybrydowych testy mogą bezproblemowo wchodzić w interakcje z elementami Compose i View-based, a także integrować się z innymi platformami testowymi.

Ściągawka dotycząca testów

Omówienie wszystkich najważniejszych tematów dotyczących testowania w usłudze Tworzenie wiadomości znajdziesz w ściągu do testowania.

Skonfiguruj

Skonfiguruj aplikację, aby przetestować kod tworzenia wiadomości.

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

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

Ten moduł zawiera ComposeTestRule oraz implementację na Androida o nazwie AndroidComposeTestRule. Za jej pomocą możesz ustawić opcję Utwórz lub uzyskać dostęp do aktywności. Reguły tworzysz za pomocą funkcji fabrycznych, np. createComposeRule lub createAndroidComposeRule, jeśli potrzebujesz dostępu do aktywności. Typowy test interfejsu w funkcji tworzenia wiadomości 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 aplikacji na Androida zapewnia szerszy wgląd w podstawy i techniki testowania.
  • Podstawy testowania: dowiedz się więcej o podstawowych pojęciach związanych z testowaniem aplikacji na Androida.
  • Testy lokalne: niektóre testy możesz przeprowadzić lokalnie na własnej stacji roboczej.
  • Testy z instrumentacją: warto też przeprowadzać testy z użyciem instrumentów. Oznacza to, że testy przeprowadzane bezpośrednio na urządzeniu.
  • Tryb ciągłej integracji: tryb ciągłej integracji umożliwia integrację testów z potokiem wdrożenia.
  • Testowanie różnych rozmiarów ekranu: użytkownicy mają do dyspozycji wiele urządzeń, dlatego warto przetestować różne rozmiary ekranów.
  • Espresso: to narzędzie jest przeznaczone dla użytkowników korzystających z widoku danych, ale wiedza o espresso może być pomocna w niektórych aspektach testowania funkcji Compose.

Ćwiczenia z programowania

Aby dowiedzieć się więcej, skorzystaj z ćwiczenia z programowania dotyczącego Jetpack Compose (w języku angielskim).

Próbki