我正在为我用 django 编写的项目编写测试用例,它给出了一个意想不到的输出,看起来像{u'message': u'', u'result': {u'username': u'john', u'user_fname': u'', u'user_lname': u'', u'cur_time': 1442808291000.0, u'dofb': None, u'sex': u'M', u'u_email': u'', u'role': u'', u'session_key': u'xxhhxhhhx', u'mobile': None}, u'error': 0}
在这里我们可以看到其他字段是空的,因为我刚刚在测试用例中创建了用户,但没有给出其他信息。数据库是从生产数据库创建的,但未初始化,它保持为空。这就是为什么它让其他字段为空。它正在查询空数据库。
我为登录 REST API编写了以下测试用例。并通过python manage.py test运行它。请告诉我如何解决上述问题。
注意:如果以下方法不正确,那么您可以建议其他方法。
from django.test import TestCase
from django.test.client import Client
from django.contrib.auth.models import User
import json
class TestAPI(TestCase):
def setUp(self):
self.c=Client() #Create Client object that simulates request to a url similar to a browser can
User.objects.create_user(username="john", password="xxx")
def test_login_api(self):
credential_test=dict()
c_test =Client()
credential_test["username"]="john"
credential_test["password"]="xxx"
data=json.dumps(credential_test)
#print 'data is'
#print data
response_test =c_test.put('/api/login', data)
content_test=json.loads(response_test.content)
print 'content'