Jetpack Compose`da Unit Test Yazımı

Begum Avci Kocaman
Huawei Developers - Türkiye
3 min readJun 22, 2023
Unit Test

Giriş

Jetpack Compose, Android uygulamalarında kullanıcı arayüzü (UI) geliştirmek için güçlü bir araçtır. Unit testler, yazılım geliştirme sürecinde birçok fayda sağlar ve Jetpack Compose için de önemlidir. İşte Jetpack Compose’da unit testlerin neden gerekliliğine dair bazı sebepler:

Unit Test-Diagram
  1. Hata Ayıklama: Unit testler, kodunuzu test etmenin ve hata ayıklamanın etkili bir yoludur. Birim testler sayesinde, bileşenlerinizin doğru çalıştığından ve beklenen sonuçları ürettiğinden emin olabilirsiniz. Hata durumlarını tanımlayabilir, potansiyel sorunları tespit edebilir ve kodunuzu düzeltmek için hedefli değişiklikler yapabilirsiniz.
  2. Geri Dönüş Kontrolü: Jetpack Compose, genellikle durum yönetimi (state management) prensiplerine dayalıdır. Durumları doğru bir şekilde yönetmek ve güncellemek önemlidir. Unit testler, durum yönetiminizin doğru çalıştığını ve bileşenlerinizin doğru durum geçişlerini gerçekleştirdiğini doğrulamak için kullanılabilir.
  3. Hızlı Geri Bildirim: Unit testler, kodunuzu hızlı bir şekilde değerlendirmenize yardımcı olur. Bileşenlerinizi test etmek ve hataları tespit etmek için sürekli olarak testleri çalıştırabilirsiniz. Bu şekilde, hataları daha erken yakalayabilir ve hızlı bir şekilde geri bildirim alabilirsiniz.
  4. Refaktör Desteği: Jetpack Compose projeleri geliştikçe, kodunuzda refaktörler yapmanız gerekebilir. Unit testler, refaktörlerin güvenli bir şekilde gerçekleştirilmesine yardımcı olur. Kodunuzdaki değişiklikler sonrasında, unit testleri çalıştırarak mevcut işlevselliğin etkilenip etkilenmediğini kontrol edebilirsiniz.
  5. Dokümantasyon: Unit testler, bir bileşenin nasıl kullanılması gerektiği ve beklenen sonuçların neler olduğu hakkında bilgi sağlar. Testler, gelecekteki geliştiricilerin bileşenlerinizi anlamalarına ve doğru bir şekilde kullanmalarına yardımcı olur.

Unit testler, yazılımın kalitesini artırır, geliştirme sürecinde güvenlik sağlar ve bakım maliyetlerini düşürür. Jetpack Compose için de unit testler, güvenilir ve sağlam bir UI oluşturmanıza yardımcı olur.

Jetpack Compose ile birim testler yazmak için genellikle AndroidJUnitRunner kullanılır.

Projeye unit test yazabilmek için aşağıdaki adımlar takip edilebilir :

  1. Projenizin build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:

Burada <compose_version>, Jetpack Compose sürümünüzün numarasını temsil eder.

2. Unit testlerinizi androidTest klasöründe yer alan bir test sınıfı içinde yazın. Bu sınıfı oluşturabilir ve düzenleyebilirsiniz.

3. Birim test sınıfınızda @get:Rule ve @get:JvmField gibi ihtiyaç duyduğunuz değişkenleri tanımlayın. Örneğin:

Bu, birim testlerinizi Jetpack Compose ortamında çalıştırmak için gerekli bir kuraldır.

4. Unit test metodunuzu oluşturun ve @Test anotasyonunu ekleyin. Ardından, UI'yi test etmek için Jetpack Compose fonksiyonlarını kullanın. Örneğin:

5. Unit testlerinizi çalıştırmak için ./gradlew connectedAndroidTest komutunu kullanın veya Android Studio üzerinde testleri çalıştırabilirsiniz.

Bu adımlar, Jetpack Compose kullanarak birim testler yazmak için genel bir yönergelerdir. Unit testlerinizi UI bileşenlerini etkileşimde bulunarak, durumları kontrol ederek ve beklenen sonuçları doğrulayarak yazabilirsiniz. Ayrıca Jetpack Compose, Espresso ve Mockito gibi yaygın test kütüphanelerini de kullanabilirsiniz.

Örnek bir Jetpack Compose unit testini aşağıda görebilirsiniz:

Sonuç

Unit testler, yazılım projelerindeki kod kalitesini artırır, hataların tespitini kolaylaştırır, geliştirme sürecinde güvenlik sağlar ve projenin sürdürülebilirliğini destekler. Bu nedenlerden dolayı, bir projeye unit testler eklemek önemlidir.

Referanslar

--

--