Fakultas Ilmu Komputer UI
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
1
1606833476-practice
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
PMPL
Collection of Practice
2019
1606833476-practice
Commits
fcb3daca
Commit
fcb3daca
authored
Sep 29, 2019
by
Raden Fikri Ihza Dwi Nanda
Browse files
Options
Downloads
Patches
Plain Diff
Update README.md
parent
7d4f3e21
Branches
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#21268
passed
Sep 29, 2019
Stage: test
Stage: deploy
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+54
-0
54 additions, 0 deletions
README.md
with
54 additions
and
0 deletions
README.md
+
54
−
0
View file @
fcb3daca
# 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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment