Fakultas Ilmu Komputer UI

Commit 2662df42 authored by Farah Alhaniy Efendi's avatar Farah Alhaniy Efendi
Browse files

Update README.md

parent 1c4f2864
Pipeline #25531 passed with stages
in 8 minutes
......@@ -16,6 +16,8 @@ Herokuapp : https://pmpl-farah.herokuapp.com/
- Mutation Testing Tool : Django-mutpy
- Exercise 7 :
- Spiking & De-Spiking
- Exercise 8 :
- Mocks Can Leave You Tightly Coupled
## Exercise 3
**Proses test isolation**
......@@ -134,7 +136,7 @@ De-spiking adalah tahapan dimana kita mengimplementasikan hasil di spiking dan m
Penggunaan Mocking seringkali terikat pada bagaimana kita mengimplementasikan sesuatu. Ketika kita melakukan implementasi yang berbeda, walaupun hasilnya sama, test bisa saja tidak terpenuhi. Hal ini yang dimaksud dari "Mocks Can Leave You Tightly Coupled to the Implementation". Sedangkan biasanya, mengetest behavior lebih baik daripada mengetest detil implementasi.
Contohnya pada kasus untuk test (tanpa mock) berikut **accounts/tests/test_views.py**
```
```python
def test_adds_success_message(self):
response = self.client.post('/accounts/send_login_email', data={
'email': 'edith@example.com'
......@@ -149,7 +151,7 @@ Contohnya pada kasus untuk test (tanpa mock) berikut **accounts/tests/test_views
```
Kita dapat mengubah test tersebut agar menggunakan mock, sehingga menjadi seperti ini
```
```python
@patch('accounts.views.messages')
def test_adds_success_message_with_mocks(self, mock_messages):
response = self.client.post('/accounts/send_login_email', data={
......@@ -164,7 +166,7 @@ Kita dapat mengubah test tersebut agar menggunakan mock, sehingga menjadi sepert
```
Dengan implementasi di **accounts/views.py** seperti berikut ini
```
```python
messages.add_message(
request,
messages.SUCCESS,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment