Oluşturma düzeninizi test etme

Oluşturma kodunuzun doğru çalışıp çalışmadığını doğrulamak için uygulamanızın kullanıcı arayüzünü test edin. Bu sayede hataları erkenden tespit edebilir ve uygulamanızın kalitesini yükseltebilirsiniz.

Compose, öğeleri bulmak, özelliklerini doğrulamak ve kullanıcı işlemlerini gerçekleştirmek için bir dizi test API'si sağlar. API'ler zaman manipülasyonu gibi gelişmiş özellikler de içerir. Uygulamanızın davranışını doğrulayan güçlü testler oluşturmak için bu API'leri kullanın.

Görüntüleme

Oluşturma yerine görünümlerle çalışıyorsanız genel Android'de uygulamaları test etme bölümüne bakın.

Özellikle Kullanıcı arayüzü testlerini otomatik hale getirme kılavuzu, iyi bir başlangıç noktası olabilir. Bu kılavuzda, görünüm kullanımı dahil olmak üzere cihaz üzerinde yürütülen testleri nasıl otomatikleştirebileceğiniz açıklanmaktadır.

Temel Kavramlar

Aşağıda, Compose kodunuzu test etmeye yönelik bazı temel kavramlar yer almaktadır.

  • Semantik: Oluşturma testleri, anlam biliminden yararlanarak kullanıcı arayüzü ile etkileşim kurar. Bu testler, kullanıcı arayüzünün parçalarına anlam verir ve kullanıcı arayüzü hiyerarşisiyle birlikte oluşturulur.
  • Test API'leri: Compose; öğeleri bulmak, durumları ve özellikleri hakkında onaylar yapmak ve kullanıcı etkileşimlerini simüle etmek için işlemler gerçekleştirmek için test API'leri sağlar.
  • Senkronizasyon: Varsayılan olarak Compose testleri kullanıcı arayüzüyle otomatik olarak senkronize edilir ve onaylama yapmadan veya işlem gerçekleştirmeden önce boşta kalmasını bekler.
  • Birlikte çalışabilirlik: Karma uygulamalarda testler, hem Compose hem de View tabanlı öğelerle sorunsuz bir şekilde etkileşim kurabilir ve diğer test çerçeveleriyle entegre edilebilir.

Test ile ilgili yardımcı kısa bilgiler

Compose'da test etme hakkında öğrenmeniz gereken tüm önemli konulara genel bir bakış için testlerle ilgili yardımcı kısa bilgilere göz atın.

Kurulum

Uygulamanızı, oluşturma kodunu test etmenizi sağlayacak şekilde ayarlayın.

Öncelikle, kullanıcı arayüzü testlerinizi içeren modülün build.gradle dosyasına aşağıdaki bağımlılıkları ekleyin:

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

Bu modülde bir ComposeTestRule ve Android için AndroidComposeTestRule adlı bir uygulama bulunur. Bu kuralı kullanarak İçerik oluştur'u ayarlayabilir veya etkinliğe erişebilirsiniz. Kuralları, fabrika işlevlerini (createComposeRule veya bir etkinliğe erişmeniz gerekiyorsa createAndroidComposeRule) kullanarak oluşturursunuz. Oluşturma için tipik bir kullanıcı arayüzü testi şuna benzer:

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

Ek Kaynaklar

  • Android'de uygulamaları test etme: Ana Android testi açılış sayfası, testlerle ilgili temel bilgiler ve tekniklere dair daha kapsamlı bir bakış sunar.
  • Testlerle ilgili temel bilgiler: Android uygulamalarını test etmenin ardındaki temel kavramlar hakkında daha fazla bilgi edinin.
  • Yerel testler: Kendi iş istasyonunuzda yerel olarak bazı testler yapabilirsiniz.
  • Araçlı testler: Araçlı testler de çalıştırmak iyi bir uygulamadır. Yani, doğrudan cihaz üzerinde yapılan testler.
  • Sürekli entegrasyon: Sürekli entegrasyon, testlerinizi dağıtım ardışık düzeninize entegre etmenize olanak tanır.
  • Farklı ekran boyutlarını test edin: Kullanıcıların kullanımına sunulan çok sayıda cihaz arasından farklı ekran boyutlarını test etmeniz gerekir.
  • Espresso: Görünüm tabanlı kullanıcı arayüzlerinde kullanılmak üzere tasarlanmış olsa da Espresso bilgisi, Oluşturma testinin bazı bölümlerinde yine de yararlı olabilir.

Kod laboratuvarı

Daha fazla bilgi edinmek için Jetpack Compose Test codelab'ini deneyin.

Numuneler