diff --git a/README.md b/README.md index a8f7ab657a7b14ca56ea2ec75f8c3185e56b258d..d62d52005921091120023517213c2bbc56af6b79 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,42 @@ Muhammad Ilham Peruzzi - 1606823475 - Computer Science 2016 - PMPL A - Practice Repo Link Heroku : https://pmpl-peruzzi.herokuapp.com/ + +# Cerita Exercise 3 + +## Isolating testing dalam Exercise 3 + +Dalam Lab 3 ini, test isolation dilakukan dengan memisahkan unittest dan functional test. Pada Lab sebelumnya, functional test merupakan test yang bersifat +independen dan kita harus menjalankan test tersebut secara manual. Agar unittest dan functional test dapat diautomisasi, kita harus merubah penamaan +functional_test.py menjadi test.py saja, dikarenakan test runner hanya membaca file dengan awalan test. + +Untuk membuat struktur project lebih rapi, functional test yang sudah diubah namanya menjadi test.py disimpan pada direktori terpisah, bernama functional_test. +Jadi, saat kita menjalankan perintah: +```bash +python manage.py test +``` +maka unittest dan functional_test akan dijalankan secara otomatis. Untuk memisahkan menjalankan test tersebut, kita bisa menggunakan perintah terpisah. + +Untuk menjalankan unittest saja, bisa menggunakan perintah: +```bash +python manage.py test <nama-app> +``` + +Sedangkan untuk menjalankan functional test saja, bisa menggunakan perintah: +```bash +python manage.py test <folder-functional-test> +``` + +Selain itu, isolation test juga dilakukan dengan memisahkan server untuk melakukan functional test dengan menggunakan LiveServerTestCase. +Class tersebut akan membuat sebuah database test otomatis yang terpisah dengan database yang kita gunakan, lalu membuat development server sendiri untuk +melakukan functional testing, sehingga hasil dari functional test yang dijalankan tidak memperngaruhi aplikasi yang sedang berjalan. +Dengan demikian kita telah berhasil melakukan test isolation. + +## Perbedaan Antara Design Baru dan Design Sebelumnya +- Pada desain yang baru menggunakan class LiveServerTestCase, sehingga saat menjalankan functional test tidak perlu menggunakan env heroku (baik server maupun database) +- Pada desain yang baru functional test dapat dijalankan secara otomatis dengan menggunakan perintah yang telah disebutkan diatas + +## Catatan + +Pada Lab 3 ini, karena saya menggunakan textbook yang berbeda dengan yang ada pada ebook di website, maka secara tidak sadar mungkin saya sudah mengerjakan +tugas untuk Lab selanjutnya, sehingga pada Lab ini saya sudah mencapai chapter 7 (https://www.obeythetestinggoat.com/book/chapter_working_incrementally.html) \ No newline at end of file