3
나는 내 고향에 대한 기본 테스트를 실행하고 있습니다. 쉘에서 클라이언트를 로깅하는 동안 테스트 스위트를 사용할 때 동일한 코드 행이 클라이언트를 로깅하지 못합니다.Django Unittests 클라이언트 로그인 : 테스트 스위트에서는 실패하지만 쉘에서는 그렇지 않습니다.
장고 테스트 스위트를 사용할 때 클라이언트를 기록하는 올바른 방법은 무엇입니까?
또는
클라이언트 내 현재의 방법으로 로그인되지 않는 이유 어떤 생각?
쉘 시험 :
import unittest
from django.test.client import Client
from django.test.utils import setup_test_environment
setup_test_environment()
client = Client()
login = client.login(username='agconti', password='password')
# login --> evals to True
장고 테스트 스위트 :
#### View Tests ####
import unittest
from django.test.client import Client
from shopping_cart.models import Store, Order, Item, Transaction
class Home_ViewTest(unittest.TestCase):
def setUp(self):
self.client = Client()
# login user
login = self.client.login(username='agconti', password='password')
# Check login
self.assertEqual(login, True)
def test_details(self):
# get the home view
response = self.client.get('/')
self.assertEqual(response.status_code, 200)
# Check that the rendered context is not none
self.assertTrue(response.context['stores'] != None)
# self.assertEqual(login, True) --> login evals to False, raises the assertion
걸렸으, 감사합니다. 이것은 잘 작동합니다. 다른 사람에게는'django.contrib.auth.models from import User'를 사용하여 사용자를 가져와야합니다. – agconti
'test.py'파일 당 한 번 사용해야합니까? 내 자신의'create_test_user' 테스트에서 아마도? 여러 테스트를 실행하면 사용자 ID가 고유하지 않다는 오류가 발생합니다. – agconti
@agconti 중복 된 사용자 문제도 발생했습니다. 그걸 해결할 수 있었 니? – Roger