【发布时间】:2015-08-27 18:16:27
【问题描述】:
我必须为我构建的一些服务编写一些测试,这些服务将我们的后端连接到另一个团队成员正在构建的移动应用程序。完成后,我被要求编写一些单元测试。我不熟悉 Django 测试,所以我想问一下是否有人可以给我一个示例,说明您将如何测试其中一项服务。这样我就可以通过示例学习,然后自己完成其余的工作?
这是我构建的一个服务示例,它通过该电子邮件在我们的数据库中查找用户并返回一个 json 对象:
@csrf_exempt
def user_find(request):
args = json.loads(request.body, object_hook=utils._datetime_decoder)
providedEmail = args['providedEmail']
try:
user = User.objects.get(email=providedEmail)
user_dict = {'exists': 'true', 'name': user.first_name, 'id': user.id}
return HttpResponse(json.dumps(user_dict))
except User.DoesNotExist:
user_dict = {'exists': 'false'}
return HttpResponse(json.dumps(user_dict))
测试这样的事情的正确方法是什么?我猜我必须以某种方式模仿一个给我一封电子邮件的请求,然后进行两个测试,一个匹配一个不匹配现有用户,并确保每个测试都返回适当的对象。这是正确的思考方式吗?有人可以帮我解决一下语法吗?我猜想以某种方式使用 django.test.Client 是否合适?
【问题讨论】:
标签: python django unit-testing testing