繁体   English   中英

Django 单元测试 function 带有基于模拟 return_value 的重定向

[英]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'

这个问题类似于以下问题

我必须替换补丁中的 return_value 才能使用MagicMock

@patch('my_app.views.create_something', return_value=MagicMock(url="https://tiagoperes.eu"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM