0
我是django的新手。在我的第一個django應用程序中,我正在測試我的一個視圖來檢查登錄。這是我的看法:Django測試沒有連接到數據庫
from testprjct.testapp.forms import LoginForm_form
from django.contrib import auth
def check_login(request):
if request.method == 'POST':
form = LoginForm_form(request.POST)
if request.POST and form.is_valid():
username = request.POST.get('username', '')
password = request.POST.get('password', '')
# I am hard-coding the credentials here just for testing
user = auth.authenticate(username = 'test123', password = 'qwerty')
if user is not None and user.is_active:
auth.login(request, user)
.....
這個視圖工作正常,當我運行服務器,並嘗試從前端登錄。但在執行此視圖的測試用例時失敗。這是我對這一觀點的測試代碼:
from testprjct.testapp.models import loginform
class ViewTests(TestCase):
def setUp(self):
loginform.objects.create(username='test123', password='qwerty')
def test_login(self):
response = self.client.get('/login/')
self.assertEqual(response.status_code, 200)
response = self.client.post('/login/', {"username": "test123", "password": "qwerty"})
print response
self.assertEqual(response.status_code, 302)
這總是與200 STATUS_CODE(不重定向到成功頁面),便只有登錄信息是無效的消息返回。
我在測試登錄頁面中的忘記密碼鏈接時,同樣是這個問題。當提供有效的電子郵件ID時,它可以從前端正常工作。但是從我的測試案例來看,它總是讓我回到電子郵件ID沒有關聯的用戶帳戶的錯誤消息,即使我提供了與前端相同的電子郵件ID。
有什麼建議嗎?我已經花了很多時間在這個已經試圖找出問題。
謝謝你的回覆。我在setUp方法中創建了該對象,但仍然沒有獲得用戶身份驗證。我在登錄信息無效的響應中收到相同的錯誤消息。我已經在我原來的問題編輯了上面的測試用例 – user2376226 2013-05-13 15:14:04
創建測試數據,我做對了嗎? – user2376226 2013-05-13 21:37:31