Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Commit fcb3daca authored by Raden Fikri Ihza Dwi Nanda's avatar Raden Fikri Ihza Dwi Nanda
Browse files

Update README.md

parent 7d4f3e21
Branches
No related tags found
No related merge requests found
Pipeline #21268 passed
# Raden Fikri Ihza Dwi Nanda - 1606833476 - Computer Science 2016 - PMPL A - Practice Repo # Raden Fikri Ihza Dwi Nanda - 1606833476 - Computer Science 2016 - PMPL A - Practice Repo
Heroku App: https://radenhomepage.herokuapp.com/ Heroku App: https://radenhomepage.herokuapp.com/
## Cerita Exercise 3
Berikut ini merupakan sedikit penjelasan dari apa yang sudah dilakukan pada
Exercise 3. Fokus utama pada Exercise 3 adalah bagaimana mengoptimalkan
*flow* Test dari aplikasi yang dibuat. Untuk penjelasan lebih lanjut, akan
dijelaskan di bawah.
### Test Isolation
Kita perlu melakukan suatu proses yang dapat menghindari pembuatan *testing data*
pada *database*, dan mengganggu hasil dari Test ketika menjalankan Functional Test.
Salah satu caranya adalah dengan membuat proses yang kurang lebih mirip dengan
Unit Test yang kita jalankan dari Django. Di mana, Django *test runner* secara
otomatis membuat semacam *database* yang terpisah dari *database* sebenarnya,
untuk kemudian dapat di-*reset* untuk setiap penjalanan test, dan dibuang di
akhir proses.
### Perbedaan *design* Test sebelum dan sesudah Test Isolation
Pada *design* Test sebelum dilakukan Test Isolation, *file* functional_tests.py
terletak di bagian *root* dari repository. Kemudian, untuk menjalankannya, kita
belum menggunakan bantuan dari Django, melainkan masih menggunakan:
```
python3 functional_tests.py
```
Hal ini ingin kita hindari, karena kita ingin menggunakan bantuan dari Django
*test runner*. Oleh karena itu, kita dapat menyiasatinya dengan cara membuat
*folder* yang berisikan tests.py dan __init__.py (untuk dapat dikenali oleh
Django). Sehingga *directory* kita sekarang menjadi seperti ini:
├── functional_tests
│ ├── __init__.py
│ └── tests.py
└── [...]
Salah satu *package* yang dapat membantu jalannya Functional Test menggunakan
Django adalah LiveServerTestCase. LiveServerTestCase ini akan membantu Django
*test runner* mencari semua *files* yang namanya diawali *tests*. Sehingga,
*file* tests.py yang baru saja kita buat di *folder* functional_tests dapat
dijalankan. Dengan *design* Test yang seperti ini, kita dapat menjalankan Test
dengan *command* sebagai berikut:
```
python3 manage.py test
```
Dengan *command* di atas, Django secara otomatis akan menjalankan Unit Test dan
Functional Test. Kemudian, permasalahan *database* juga akan teratasi, karena
sudah menggunakan bantuan dari *database* sementara yang dibuat oleh Django
ketika menjalankan Test.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment