在我的浏览器中,一切都很好。直到我做一个测试
这是我的民意调查/ views.py
from django.shortcuts import render
from polls.models import Poll
def index(request):
latest_poll_list = Poll.objects.all().order_by('-pub_date')
context = {'latest_poll_list':latest_poll_list}
return render(request,'polls/index.html',context)
轮询/模板/轮询/ index.html中
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li>{{poll.question}}</li>
{% endfor %}
</ul>
{% else %}
<p>No Poll Available</p>
{% endif %}
和我的民意调查/ tests.py
from django.test import TestCase
from django.core.urlresolvers import reverse
class SimpleTest(TestCase):
def test_this(self):
response = self.client.get(reverse('polls.views.index'))
print response.context
print response.content
如您所见,我的response.context['latest_poll_list']
始终是[]
所以我想知道我的错在哪里?
答案 0 :(得分:2)
如果在浏览器中你得到你的对象,这意味着你的视图没问题,如果你的测试没有返回任何对象,你可能需要创建它们(测试使用Django从头开始自动创建的空数据库)。我通常在setUp()方法中创建示例对象:
class SimpleTest(TestCase):
def setUp(self):
self.poll = Poll.objects.create()