Umiejętności związane z Androidem
Wyświetl na GitHubieKonfiguracja testowania na Androidzie
android skills add testing-setupPrzetestuj interfejs aplikacji, aby sprawdzić, czy kod Compose działa prawidłowo. Dzięki temu możesz wcześnie wykrywać błędy i poprawiać 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ż funkcje zaawansowane, takie jak manipulowanie czasem. Użyj tych interfejsów API, aby utworzyć rzetelne testy, które zweryfikują działanie aplikacji.
Wyświetlenia
Jeśli zamiast Compose używasz widoków, zapoznaj się z ogólną sekcją Testowanie aplikacji na Androidzie.
Dobrym punktem wyjścia jest przewodnik Automatyzacja testów interfejsu. Dowiesz się z niego, jak zautomatyzować testy, które są uruchamiane na urządzeniu, w tym podczas korzystania z widoków.
Kluczowe pojęcia
Oto kilka kluczowych pojęć związanych z testowaniem kodu Compose:
- Semantyka: semantyka nadaje znaczenie interfejsowi, umożliwiając testom interakcję z konkretnymi elementami.
- Interfejsy API do testowania: interfejsy API do testowania umożliwiają znajdowanie elementów, weryfikowanie ich atrybutów i wykonywanie działań użytkownika.
- Synchronizacja: synchronizacja sprawdza, czy testy czekają, aż interfejs będzie bezczynny, zanim wykonają działania lub asercje.
- Interoperacyjność: interoperacyjność umożliwia testom pracę zarówno z elementami Compose, jak i elementami opartymi na widoku w tej samej aplikacji.
Ściągawka dotycząca testowania
Zapoznaj się ze ściągawką dotyczącą testowania, aby poznać wszystkie najważniejsze zagadnienia związane z testowaniem w Compose.
Konfiguracja
Skonfiguruj aplikację, aby umożliwić testowanie kodu Compose.
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 i implementację na Androida o nazwie AndroidComposeTestRule. Za pomocą tej reguły możesz ustawić treść funkcji Utwórz lub uzyskać dostęp do aktywności. Reguły tworzy się za pomocą funkcji fabrycznych createComposeRule lub createAndroidComposeRule, jeśli potrzebujesz dostępu do aktywności. Typowy test interfejsu 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 Androidzie zawiera szerszy przegląd podstaw i technik 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 instrumentacją. czyli testy, które są uruchamiane bezpośrednio na urządzeniu.
- Tryb ciągłej integracji: tryb ciągłej integracji umożliwia integrację testów z potokiem wdrażania.
- Testowanie różnych rozmiarów ekranu: użytkownicy mają do dyspozycji wiele urządzeń, dlatego warto przetestować różne rozmiary ekranu.
- Espresso: chociaż Espresso jest przeznaczone do interfejsów opartych na widokach, wiedza o nim może być przydatna w niektórych aspektach testowania Compose.
Ćwiczenie w Codelabs
Więcej informacji znajdziesz w ćwiczeniu z programowania dotyczącym testowania Jetpack Compose.
Przykłady
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Semantyka w Compose
- Wstawki okna w Compose
- Inne kwestie, które warto wziąć pod uwagę