Glad you worked it out. Enjoy the rest of the tutorial! JDB
On Thu, Feb 13, 2014 at 1:54 PM, Paul Sermon <[email protected]>wrote: > OK thanks for your help. > > I've reviewed through the code, and I had a minor indentation typo that > wasn't helping! > > Anyway, I worked it down to the lines self.assertContains. You see that > full-stop/period at the end of the string it was looking for? That wasn't > in the no polls message! That'll teach me for copying and pasting! > > Thanks for your help! > > -Paul > > On Thursday, February 13, 2014 6:30:34 PM UTC, jondbaker wrote: > >> Cool, so we're making progress and you're using the test database now. >> Since you have two tests failing, I'd comment out the 2nd of the two for >> now and focus on getting the first to pass, and then moving on to the >> second. Don't try to do too much at once, and do try and understand what >> each function/method is doing. >> >> Firstly, I'm not a fan of assertions like: >> self.assertContains(response, "No polls are available.", status_code=200) >> ...because it's testing two things at once. I'd break that out in to two >> separate statements: >> self.assertEqual(response.status_code, 200) >> self.assertContains(response, "No polls are available.") >> >> Run the tests again, and since it's likely still failing at the >> assertContains point, I'd comment that out and print out the response and >> inspect it manually to see what it actually contains. Perhaps there is a >> typo in your 'No polls are available' string, or perhaps the view is >> actually returning queryset results. Dig around a bit. Getting comfortable >> with tests and good at writing them will give you a deeper understanding of >> the framework than simply writing views, models and templates ever wil. >> >> JDB >> >> >> On Thu, Feb 13, 2014 at 11:17 AM, Paul Sermon <[email protected]>wrote: >> >>> Hmm, you'r right, I think I'm getting confused and attributed the error >>> to something it isn't. Ive just ran the test after changing all the polls >>> to the future, and I still get the errors. The errors are as follows: >>> >>> ====================================================================== >>> FAIL: test_index_view_with_a_future_poll (polls.tests.PollViewTests) >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "C:\Users\Alienware\Dropbox\coding >>> stuff\web\django\mysite\polls\tests.py", >>> line 75, in test_index_view_with_a_fu >>> ture_poll >>> self.assertContains(response, "No polls are available.", >>> status_code=200) >>> File "C:\Python27\lib\site-packages\django\test\testcases.py", line >>> 351, in assertContains >>> msg_prefix + "Couldn't find %s in response" % text_repr) >>> AssertionError: Couldn't find 'No polls are available.' in response >>> >>> ====================================================================== >>> FAIL: test_index_view_with_no_polls (polls.tests.PollViewTests) >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "C:\Users\Alienware\Dropbox\coding >>> stuff\web\django\mysite\polls\tests.py", >>> line 54, in test_index_view_with_no_p >>> olls >>> self.assertContains(response, "No polls are available.") >>> File "C:\Python27\lib\site-packages\django\test\testcases.py", line >>> 351, in assertContains >>> msg_prefix + "Couldn't find %s in response" % text_repr) >>> AssertionError: Couldn't find 'No polls are available.' in response >>> >>> ---------------------------------------------------------------------- >>> Ran 8 tests in 0.037s >>> >>> FAILED (failures=2) >>> Destroying test database for alias 'default'... >>> >>> >>> >>> >>> >>> On Thursday, February 13, 2014 5:29:50 PM UTC, jondbaker wrote: >>> >>>> "setup_test_environment()<https://docs.djangoproject.com/en/1.6/topics/testing/advanced/#django.test.utils.setup_test_environment> >>>> installs a template renderer which will allow us to examine some >>>> additional attributes on responses such as response.context that >>>> otherwise wouldn't be available. Note that this method *does not* setup >>>> a test database, so the following will be run against the existing database >>>> and the output may differ slightly depending on what polls you already >>>> created." >>>> >>>> That's from the section you linked to, and it clearly explains that a >>>> test database will not be created. Two sections below that is >>>> https://docs.djangoproject.com/en/1.6/intro/tutorial05/#t >>>> esting-our-new-view which demonstrates how to create test cases that >>>> inherit from TestCase that can be found and executed by the Django test >>>> runner which will also handle creating the test database for you. >>>> >>>> JDB >>>> >>>> >>>> On Thu, Feb 13, 2014 at 10:20 AM, Paul Sermon >>>> <[email protected]>wrote: >>>> >>>>> yes I am running through the manage.py shell (although initially I did >>>>> not). >>>>> >>>>> I am doing the section: https://docs.djangoproject.com/en/1.6/intro/ >>>>> tutorial05/#the-django-test-client >>>>> On the response.content line, I get back a line listing the polls made >>>>> earlier. >>>>> >>>>> And I presume that is why the test from the next section fail, because >>>>> they are picking up the entries from the database, rather than the test >>>>> database. >>>>> >>>>> I am on windows 7, if that makes any difference. >>>>> >>>>> >>>>> >>>>> >>>>> On Thursday, February 13, 2014 2:58:37 PM UTC, jondbaker wrote: >>>>> >>>>>> Are you running your tests on the command line using: >>>>>> >>>>>> $ python manage.py test polls >>>>>> >>>>>> ...or are you trying to run them from a Python shell? It'd be helpful >>>>>> if you could provide the internal link to the area of the page you linked >>>>>> to that you're experiencing the failure at, as well as the output of the >>>>>> error you're receiving and the command that causes it. >>>>>> >>>>>> JDB >>>>>> >>>>>> >>>>>> On Thu, Feb 13, 2014 at 3:19 AM, Paul Sermon <[email protected] >>>>>> > wrote: >>>>>> >>>>>>> This is the tutorial: https://docs.djangoproject.com/en/1.6/intro/ >>>>>>> tutorial05/ >>>>>>> >>>>>>> I've followed the tutorials pretty much to the letter since tutorial >>>>>>> one. >>>>>>> >>>>>>> Thanks for the help! >>>>>>> >>>>>>> -Paul >>>>>>> >>>>>>> >>>>>>> On Wednesday, February 12, 2014 10:33:16 PM UTC, jondbaker wrote: >>>>>>> >>>>>>>> You're correct in thinking that tests use a test database that is >>>>>>>> independent of your formally defined project database. Without knowing >>>>>>>> exactly which Django tutorials you are referring to, I can only assume >>>>>>>> that >>>>>>>> perhaps you: >>>>>>>> >>>>>>>> 1) Have defined initial_data.json fixtures >>>>>>>> 2) Have defined other fixtures that your tests are referencing >>>>>>>> (likely in their setUp method) >>>>>>>> >>>>>>>> If none of the items above are correct, feel free to provide a link >>>>>>>> to the tutorial you're going through and I'll take a look. >>>>>>>> >>>>>>>> JDB >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Feb 12, 2014 at 2:33 PM, Paul Sermon < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> So I'm working my way through the Django tutorials, and have got >>>>>>>>> as far as the view tests. It seems that when running the test client, >>>>>>>>> rather than returning data from an empty test database (is this what >>>>>>>>> is >>>>>>>>> meant to happen?) it is returning polls from the existing database, >>>>>>>>> which >>>>>>>>> has the polls created in the previous tutorials. This means the >>>>>>>>> tests that >>>>>>>>> expect empty result sets fail. >>>>>>>>> >>>>>>>>> Any idea why it would be doing this? Am I correct in thinking the >>>>>>>>> test should create it's own empty database to test this? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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 [email protected]. >>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>> >>>>>>>>> Visit this group at http://groups.google.com/group/django-users. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/django-users/e1782c5f-d8e7 >>>>>>>>> -4fc6-93d8-88d01aafbd4f%40googlegroups.com. >>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>>> >>>>>>>> -- >>>>>>> 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 [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/django-users. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/django-users/4031d95b-7f80 >>>>>>> -4839-a25a-800649e33cf1%40googlegroups.com. >>>>>>> >>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Jonathan D. Baker >>>>>> Developer >>>>>> http://jonathandbaker.com >>>>>> >>>>> -- >>>>> 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 [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/django-users. >>>>> To view this discussion on the web visit https://groups.google.com/d/ >>>>> msgid/django-users/0d1f956e-3ba2-4737-a33f-a6dc4610542a%40goog >>>>> legroups.com. >>>>> >>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> >>>> >>>> -- >>>> Jonathan D. Baker >>>> Developer >>>> http://jonathandbaker.com >>>> >>> -- >>> 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 [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/django-users. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/django-users/7beb683a-9a3f-4eef-a033-40b07db32761% >>> 40googlegroups.com. >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Jonathan D. Baker >> Developer >> http://jonathandbaker.com >> > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/63aebdbb-f497-4d47-b2b3-c3d43d6b2b47%40googlegroups.com > . > > For more options, visit https://groups.google.com/groups/opt_out. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAPMFOb6e08J%2B2Pu144yX71oRR%3Dn_LiAJd%3DxFvQsSY7nHui3EuA%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.

