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]<javascript:>
> > 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/#
>>> testing-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%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/0d1f956e-3ba2-4737-a33f-a6dc4610542a%
>>>> 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] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> 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.

Reply via email to