我有与请求对象或用户对象进行交互的Django代码。例如:
foo_model_instance = models.get_or_create_foo_from_user(request.user)
如果要使用django python shell进行测试或在单元测试中进行测试,您将在其中传递什么?这里只是一个User对象即可,但是对模拟请求对象的需求也经常出现。
对于外壳或单元测试:
对于请求,我将使用Django随附的RequestFactory。
from django.test.client import RequestFactory rf = RequestFactory() get_request = rf.get('/hello/') post_request = rf.post('/submit/', {'foo': 'bar'})
对于用户,我将按照@ozan的建议使用django.contrib.auth.models.User,并可能与factory boy一起使用以提高速度(对于factory boy,您可以选择不保存到DB)