python - Django:模拟模型上的字段

标签 python django

如何将模拟对象分配给此模型上的用户字段?无论如何都要绕过“SomeModel.user”必须是“User”实例'检查吗?

 class SomeModel(models.Model):
     user = models.ForeignKey(User)

我不会保存这个模型,它纯粹是为了对该模型上的方法进行单元测试。我也不想创建一个真正的用户模型。

最佳答案

您可以使用unittest.patch来模拟属性:

class TestThing(django.test.TestCase):
    @unittest.patch('my_app.models.SomeModel.user', new_callable=unittest.PropertyMock)
    def test_thing(self, user_field):
        user_field.return_value = 5
        ...

这适用于 Django 字段。

关于python - Django:模拟模型上的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6690940/

相关文章:

python - 向 Django 添加自定义语言

django - Heroku 使用 Django 提供静态文件时出现问题

Python同时迭代两个列表

python - 如何使用数百种模式在列表列表中搜索数万个项目

python - functools.partial 和生成器

python - 在django开发环境下使用Docker、Gunicorn、Nginx却只能看到nginx欢迎页面?

python - Django :UnicodeDecodeError: '

python - Django 登录不工作

用于连接的 Python 正则表达式替代方案

python - Pandas:Apply():返回多个值