Belajar Android TDD ( Test Driven Development) part 1

Apa sih TDD itu?
Ada yang sudah tau TDD? Kalau belum sedikit kita bahas Test Driven Development itu apa. Berikut ini sedikit kita baca kutipan tentang TDD di wikipedia.
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.

Jadi intinya gini TDD ini adalah salah satu metode dalam membangun sebuah software atau aplikasi 3 siklus. Yaitu kita melakukan test cases yang hasilnya error, kemudian melakukan perbaikan error, dan terakhir refactor code.
Kenapa Harus TDD?
Ok Mungkin setelah belajar sedikit tentang TDD anda bertanya kenapa harus melakukan TDD? Jadi begini semua pasti sama dengan saya proses mengcompile codingan kita ke APK itu pasti berat dan lama kan prosesnya. BANGET bahkan aku sering banget sampe ngantuk — ngantuk nungguin gradle build nya iya kan!
Kebayang ya,, kalo project aplikasi kita sudah besar terus kita mau ngetes misalkan kita mau cek validasi form, kita harus nunggu sekitar 2 menit atau lebih untuk compilenya , terus abis itu udah di run aplikasinya kita harus melakukan beberapa proses, terus kita harus ngetik tuh untuk inputanya. Hadehhhhhh sebel ya kita cukup lumayan menghabiskan waktu untuk testingnya.
Nah itu dia TDD ini bisa jadi salah satu solusi untuk kita melakukan developmentnya lebih cepat, mudah dan meminimalisir error di aplikasinya.
Gimana caranya?
Sudah mulai tertarik kan???? OK kita cari tahu gimana caranya. Pertama — tama buat project , untuk project latihan ini bisa di akses di github saya disini.

Setelah kita membuat project baru gadle juga sudah mengenerate environment untuk test nya. Seperti terlihat disamping kita sudah di generatekan 3 package. Nah disini yang akan kita gunakan com.ahmadrosid.belajartdd(test).
Nah dalam latihan kali ini kita akan membuat aplikasi untuk membuat artikel yang berisi 3 form judul, kategory dan content. Disini kita juga akan mengimplementasikan MVP, kalau masih bingung dengan MVP bisa baca tulisan saya mengenai MVP disini.
Ok langkah pertama kita akan membuat presenternya.

Kemudian setelah itu kita akan buat test class untuk artikel presenter ini caranya tekan Alt + Enter di class ArtikelPresenter.

Kemudian Create Test nanti muncul dialog create new test pilih ok dan pilih package test yang bawah.

Maka akan di generate class test artikelnya seperti berikut ini

Selanjutnya kira lakukan percobaan test pertama. Disini kita akan buat satu method di class ArtikelPresenter untuk melakukan validasi input string.
Dan berikut ini untuk testnya di class ArtikelPresenterClass.
Nah sekarang run testnya

Kalau sudah nanti akan muncul error seperti ini.

Nah perharikan error di atas ada error di method createNewTestArtikelPresenter dengan tanda seru. Disini kita mendapatkan fatal error. Sekarang coba kita rubah untuk inputan dari method validateInputIsNotEmpty dengan string kosong. Maka kita dapat hasil seperti ini.

Nah sekaran tanda serunya di balut warna kuning. Artinya disini input parameternya tidak null, akan tetapi hasil dari kembalian dari method validateInputIsNotEmpty tidak true. Artinya string ini kosong, sedangkan kita membuat method validateInputIsNotEmpty untuk mengetahui jika stringnya tidak kosong. Nah sekarang coba kita buat stringnya tidak kosong seperti berikut ini.
Dan ketika kita run maka hasilnya akan seperti berikut ini.

Dan kita pun berhasil mendapatkan nilai true nya. Ok akan berlanjut ke part 2 keep stay tuned ya :D.
Next Part 2