0
我正在嘗試爲我的第一個Django應用程序編寫測試,並且當我瀏覽視圖時,我似乎無法測試對數據庫所做的更改。這是我的一個測試的例子。無法通過Django測試對數據庫的更改測試
def test_vote(self):
self.set_up()
idea = Idea.objects.get(title="Hello people")
c = Client()
c.login(email="[email protected]", password="baxter")
r = c.post(reverse("ideas:up_vote", kwargs={'pk':idea.pk}), follow=True)
self.assertEqual(r.status_code, 200)
self.assertEqual(idea.votes, 1)
該視圖假設up_vote一個想法對象,這是一個簡單的視圖。
def like_view(request, **kwargs):
idea = Idea.objects.get(pk = kwargs['pk'])
idea.votes += 1
idea.save()
return HttpResponseRedirect(reverse('ideas:list'))
我正在使用SQLite3數據庫。
if DEBUG:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django',
'USER': env('RDS_USERNAME'),
'PASSWORD': env('RDS_PASSWORD'),
'HOST': env('RDS_HOST'),
'PORT': '5432',
}
}
DEBUG = True也。每次我運行測試時都沒有提到idea.votes = 0而不是1,這就是我想要得到的結果。我不確定我是否正在測試這一切都是錯誤的還是什麼。任何幫助將非常感謝。