После того, как я попытался написать тестовые примеры для входа api, когда я пишу test out-side любого класса, тогда он не дает никаких ошибок, но когда я создал класс class TestCase(TestCase):
и определил метод def test_login(self):
. Он дает пропущенную пароль, но за пределами того же кода работает успешно.Ошибка при запуске: ошибка имени пользователя и пароля при попытке проверить вход в систему api?
from django.test import TestCase
from django.test import Client
import json
#Creating test out side class
credential=dict()
c =Client()
credential["username"]="john"
credential["password"]="xxx"
response =c.put('/api/login', data=json.dumps(credential))
print("content")
print(response.content)
"""
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
"""
print("session_key")
content = json.loads(response.content)
key = content['result']['session_key']
print key
#Creating test inside class
class TestCase(TestCase):
def test_login(self):
User.objects.create(username="john", password="xxx")
credential=dict()
c =Client()
credential["username"]="john"
credential["password"]="xxx"
response =c.put('/api/login', data=json.dumps(credential))
content=json.loads(response.content)
print 'content'
print content
{u'message': u'Username and Password mismatch', u'result': {}, u'error': 1}
Здесь мы можем увидеть сообщение в другой формат для успешного
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
Для Неудачный
{u'message': u'Username and Password mismatch', u'result': {}, u'error': 1}
. Перед каждой переменной есть u
. Я думаю, что проблема здесь ....
и- там, потому что это юникод строка ... – petkostas
@petkostas Тогда почему не в первом случае, почему я получаю несоответствие пароля, когда я написал тест внутри класса TestCase, но не давая ошибка, когда я написал samething outude class. Пожалуйста, помогите мне на thi – geeks