【发布时间】:2016-12-12 05:35:17
【问题描述】:
我正在为我的 Django 应用程序编写单元测试。目前我正在使用factory_boy 制作用于测试的假对象。这适用于我的大多数测试,但我遇到了以下问题:我的 factory_boy 对象没有出现在 {model}.objects 中。例如,我正在尝试在我的序列化程序中测试以下方法:
def get_can_edit(self, obj):
request = self.context.get('request')
user = request.user
admin = SimpleLazyObject(obj.admin)
user = User.objects.get(username=request.user)
return user == obj.admin
通过调试器,我确定 request.user 正确地有我的假用户,但 User.objects 没有我的假用户。
我想知道是否有一个简单的替代 factory_boy 可以实际将我的假对象添加到 {model}.objects 或者我只是错误地使用 factory_boy?或者也许有一种完全不同的方法......谁知道呢。
代码如下:
【问题讨论】:
-
你可能也喜欢这个:github.com/vandersonmota/model_mommy
标签: python django unit-testing django-rest-framework