Oluşturma kodunuzun davranışının doğru olduğunu doğrulamak için uygulamanızın kullanıcı arayüzünü test edin. Bu sayede hataları erken yakalayabilir ve uygulamanızın kalitesini artırabilirsiniz.
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 değiştirme 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 sayısı
Oluştur 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 otomatikleştirme kılavuzu başlangıç için iyi bir kaynaktır. Görünümler kullanılırken de dahil olmak üzere cihaz üzerinde çalıştırılan testleri nasıl otomatikleştirebileceğinizi açıklar.
Temel Kavramlar
Aşağıda, Compose kodunuzu test etmek için kullanabileceğiniz bazı temel kavramlar verilmiştir.
- Anlamlar: Oluşturma testleri, kullanıcı arayüzünün parçalarına anlam veren ve kullanıcı arayüzü hiyerarşisi ile birlikte oluşturulan anlamları kullanarak kullanıcı arayüzüyle etkileşim kurar.
- Test API'leri: Compose, öğeleri bulmak, durum ve özellikleri hakkında iddialarda bulunmak ve kullanıcı etkileşimlerini simüle etmek için test API'leri sağlar.
- Senkronizasyon: Oluşturma testleri varsayılan olarak kullanıcı arayüzüyle otomatik olarak senkronize olur ve iddiada bulunmadan veya işlem yapmadan önce kullanıcı arayüzünün boş olmasını bekler.
- Birlikte çalışabilirlik: Karma uygulamalarda testler hem Oluştur hem de Görüntüleme tabanlı öğelerle sorunsuz bir şekilde etkileşim kurabilir ve diğer test çerçeveleriyle entegre edilebilir.
Testlerle ilgili kısa bilgiler
Compose'da test hakkında öğrenmeniz gereken tüm önemli konulara genel bakış için test yapmayla ilgili ipuçlarını inceleyin.
Kurulum
Uygulamanızı, kod oluşturma özelliğini test etmenize olanak 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ül, bir ComposeTestRule
ve Android için AndroidComposeTestRule
adlı bir uygulama içerir. Bu kural sayesinde İçerik oluşturma işlemini ayarlayabilir veya etkinliğe erişebilirsiniz. Kuralları createComposeRule
veya bir etkinliğe erişmeniz gerekiyorsa createAndroidComposeRule
fabrika işlevlerini kullanarak oluşturursunuz. Oluştur için tipik bir kullanıcı arayüzü testi şöyle görünür:
// 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 test açılış sayfası, testin temelleri ve teknikleri hakkında daha geniş bir bakış açısı sunar.
- Testin temelleri: Android uygulamasını test etmenin temel kavramları hakkında daha fazla bilgi edinin.
- Yerel testler: Bazı testleri kendi iş istasyonunuzda yerel olarak çalıştırabilirsiniz.
- Araçla testler: Araçla testler de çalıştırmak iyi bir uygulamadır. Yani doğrudan cihazda çalıştırı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 kullanabileceği çok sayıda cihaz olduğundan farklı ekran boyutlarını test etmeniz gerekir.
- Espresso: Görüntü tabanlı kullanıcı arayüzleri için tasarlanmış olsa da Espresso bilgisi, Oluşturma testi ile ilgili bazı yönler için yine de faydalı olabilir.
Codelab
Daha fazla bilgi edinmek için Jetpack Compose Testing codelab'ini deneyin.
Örnekler
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Oluşturma'da anlam bilimi
- Oluştur'daki pencere iç içe eklemeleri
- Dikkat edilmesi gereken diğer noktalar