Mengenal Unit test, Widget test, Integration test pada Flutter- Kuasai Teknologi

Semakin banyak fitur yang dimiliki dalam sebuah aplikasi, semakin sulit menguji dengan manual. Pengujian otomatis membantu memastikan bahwa pengujian aplikasi anda bekerja dengan benar sebelum anda mempublikasikannya, sambil mempertahankan fitur dan kecepatan memperbaiki bug.



Pengujian otomatis terdapat 3 kategory:

  • A unit test tests a single function, method atau class.
  • A widget test (dalam framework IU lain disebut sebagai uji component). menguji satu widget
  • An integratioin test menguji aplikasi lengkap atau sebagian besar aplikasi.

Secara umum, aplikasi yang telah teruji dengan baik memiliki banyak pengujian unit dan widget, yang dilacak berdasarkan cakupan kode, ditambah integration test yang cukup untuk mencakup semua khusus penggunaan yang penting. saran ini didasarkan pada fakta bahwa ada trade-off antara berbagai jenis test.

Baca Juga : Apa itu TDD (Test Driven Development)

Unit tests

Unit test menguji satu fungsi, method, atau class. Tujuan dari unit test adalah untuk memverfikasi kebenaran unit logika di berbagai kondisi. ketergantungan eksternal dari unit yang diuji umumnya mocked out. Unit test umumnya tidak membaca dari atau menulis ke disk, merender ke layar, atau menerima tindakan pengguna dari luar proses yang menjalankan tests. untuk informasi lebih lanjut menenai unit test, anda dapat melihat dengan menjalankan flutter test --help di terminal anda.

Resource:

Widget tests

Widget test (dalam framework IU lain disebut sebagai uji component) menguji satu widget. Tujuan widget test adalah untuk memverfikasi bahwa UI widget terlihat dan berinteraksi seperti yang di harapkan. Widget test melibatkan beberapa kelas dan memperlukan lingkunan test yang menyediakan lifecycle context widget yang sesuai.

Misalnya, widget yang sedang diuji harus dapat menerima dan merespons tindakan dan peristiwa pengguna, melakukan tata letak, dan membuat instance child widget. Oleh karena itu, widget test lebih komperhensif daripada unit test. Namun, seperti unit test, lingkungan widget test diganti dengan implementasi yang jauh lebih sederhana daripada sistem UI lengkap. 

Resource:

Integration tests

Integration tests menguji aplikasi lengkap atau sebagian besar aplikasi. Tujuan dari integration test adalah untuk memverfikasi bahwa semua widget dan layanan yang diuji bekerja sama seperti yang diharapkan. Selanjutnya, anda dapat menggunakan Integration test untuk memverfikasi kinerja aplikasi anda.

Umumnya, inregration test berjalan pada perangkat nyata atau emulator OS, seperti iOS Simulator atau Android Emulator. Aplikasi yang sedang diuji biasanya diisolasi dari kode driver test untuk menghindari hasil yang miring.

Resource:

Continuous integration services

Layanan continuous integration (CI) memungkinkan anda menjalankan pengujian secara otomatis saat melakukan push perubahan code baru. Ini memberikan umpan balik tepat waktu tentang apakah perubahan kode berfungsi dseperti yang diharapkan dan tidak menimbulkan bug.

Untuk informasi tentang menjalankan tests pada berbagai continuous integration service, lihat berikut ini:

Terima Kasih sudah membaca Mengenal Unit test, Widget test, Integration test pada Flutter. Semoga Bermanfaat!