![](/img/trans.png)
[英]unittest.Mock - Combining return_value and side_effect
[英]Django unittest function with redirect based on mock return_value
我有一個類似於 function 的視圖
def my_function(request):
session = create_something('some_random_string')
return redirect(session.url, code=303)
測試一下
import unittest
from django.test import TestCase
from unittest.mock import patch
from my_app.views import my_function
class TestMyFunction(TestCase):
@patch('my_app.views.create_something', return_value={
"url": "https://tiagoperes.eu/"
})
def test_my_function(self, mock_create_something):
response = self.client.get("/my-function/")
這給
AttributeError: 'dict' object 沒有屬性 'url'
這個問題類似於以下問題
redirect()
,它采用來自模擬 function 的動態值,因此也可以輕松達到錯誤TypeError: quote_from_bytes() expected bytes
)return_value
,我會得到TypeError: expected string or bytes-like object
)我必須替換補丁中的 return_value 才能使用MagicMock
@patch('my_app.views.create_something', return_value=MagicMock(url="https://tiagoperes.eu"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.