I'm currently working through the django tutorial for v1.10. On part 5 the final test that is created is raising an assertion error as follows:
Creating test database for alias 'default'... .F........ ====================================================================== FAIL: test_detail_view_with_a_past_question (polls.tests.QuestionIndexDetailTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/dufort/code/django-tutorials/mysite/polls/tests.py", line 122, in test_detail_view_with_a_past_question self.assertContains(response, past_question.question_text) File "/tmp/bash-venv/8918/lib/python2.7/site-packages/django/test/testcases.py", line 382, in assertContains self.assertTrue(real_count != 0, msg_prefix + "Couldn't find %s in response" % text_repr) AssertionError: Couldn't find 'Past Question.' in response ---------------------------------------------------------------------- Ran 10 tests in 0.045s FAILED (failures=1) Destroying test database for alias 'default'... The following is the specific test being used import datetime from django.utils import timezone from django.test import TestCase from django.urls import reverse from .models import Question ... def create_question(question_text, days): """ Creates a question with the given 'question_text' and published the given number of 'days'offset to now (negative for question published in the past, positive for questions that have yet to be published. """ time = timezone.now() + datetime.timedelta(days=days) return Question.objects.create(question_text=question_text, pub_date=time) ... class QuestionIndexDetailTests(TestCase): ... def test_detail_view_with_a_past_question(self): """ The detail view of a question with a pub_date in the past should display the question's text. """ past_question = create_question(question_text='Past Question.', days=-5) url = reverse('polls:detail', args=(past_question.id,)) response = self.client.get(url) self.assertContains(response, past_question.question_text) Views: from django.shortcuts import render, get_object_or_404 from django.http import HttpResponseRedirect from django.urls import reverse from django.views import generic from django.utils import timezone from .models import Choice, Question # Create your views here. class IndexView(generic.ListView): template_name = 'polls/index.html' context_object_name = 'latest_question_list' def get_queryset(self): """ Return the last five published questions (not including those set to be published in the future.) """ return Question.objects.filter( pub_date__lte=timezone.now() ).order_by('-pub_date')[:5] class DetailView(generic.DetailView): model = Question template_name = 'polls/detail.html' def get_queryset(self): """ Excludes any questions that aren't published yet. """ return Question.objects.filter(pub_date__lte=timezone.now()) class ResultsView(generic.DetailView): model = Question template_name = 'polls/results.html' def vote(request, question_id): question = get_object_or_404(Question, pk=question_id) try: selected_choice = question.choice_set.get(pk=request.POST['choice']) except (KeyError, Choice.DoesNotExist): return render(request, 'polls/detail.html', { 'question': question, 'error_message': "You didn't select a choice.", }) else: selected_choice.votes += 1 selected_choice.save() return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) I've decided to move forward with the tutorials. I am having trouble identifying if this is a bug in the tutorial itself or if there is just something missing in my code that is causing this error. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/ffcc0413-2937-4f66-bfe4-445b7210f8f4%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.