?????????????????????????????????????????????????????????ɡ?
????D:pydjsuperlists>python3 manage.py startapp lists
??????functional_tests.py???superlists????????

???????????????????????
??????????????????????????????????????????????????????????????????????????????и???????????????????????????????????????????????????????????????????á?
?????????? TDD ????????????????????????á?????????????????????
????(1) ??д??????????????????????????1????
????(2) ????????????????д????????????????????????????????????????????????????????????????????????????Ч????????????е????д???
????(3) ?????????????д????????????????????????????????????? 2 ????? 3 ??????????????????????ù?????????????????
????(4) ?????????й?????????????????????????н????????????????????д?Щ?μ?????????????
??????????????????????????У???????????????????????????????????????????????Щ????
??????/lists/tests.py???????д????????
????from django.test import TestCase
????# Create your tests here.
????class SmokeTest(TestCase):
????def test_bad_moths(self):
????self.assertEqual(1 + 1??2)
???????е???????
????D:pydjsuperlists>python3 manage.py test
????Creating test database for alias 'default'...
????.
????----------------------------------------------------------------------
????Ran 1 test in 0.001s
????OK
????Destroying test database for alias 'default'...
????OK??????????????????????????д???????????????/lists/tests.py????
from django.core.urlresolvers import resolve
from django.test import TestCase
from django.http import HttpRequest
from lists.views import home_page
class HomePageTest(TestCase):
def test_root_url_resolves_to_home_page_view(self):
found = resolve('/')
self.assertEqual(found.func?? home_page)
def test_home_page_returns_correct_html(self):
request = HttpRequest()
response = home_page(request)
self.assertTrue(response.content.startswith(b'<html>'))
self.assertIn(b'<title>To-Do lists</title>'?? response.content)
self.assertTrue(response.content.endswith(b'</html>'))
???????????????test_root_url_resolves_to_home_page_view????
????resolve ?? Django ??????????????????? URL?????????????????????????????????????·??“ /” ?????????????? home_page ???????
???????????????test_home_page_returns_correct_html????
????????????? HttpRequest ?????????????????????????? Django ????????HttpRequest ????????? HttpRequest ?????? home_page ????????????????????????? HttpResponse?????????????ò??????????????????????????? .content ????????????????? HTML????????????????
????assertTrue()???????? <html> ?????????????β????????????? response.content ???????????? Python ????????????????? b'' ????b??BYTE?????
????assertIn()????????????? <title> ??????????????????“ To-Do”——?????????????????????????
?????????У????????????????????д????????????м????????д???????????????????
???????????????д??????lists/views.py
????from django.shortcuts import render
????from django.http import HttpResponse
????# Create your views here.
????def home_page(request):
????return HttpResponse('<html><title>To-Do lists</title></html>')
???????е??????????????
D:pydjsuperlists>python3 manage.py test
Creating test database for alias 'default'...
..
----------------------------------------------------------------------
Ran 2 tests in 0.002s
OK
Destroying test database for alias 'default'...
????????????????superlists/urls.py?????
????urlpatterns = [
????#url(r'^admin/'?? admin.site.urls)??
????url(r'^$'?? views.home_page)??
????]
???????????????
????D:pydjsuperlists>python manage.py runserver
???????й??????????????????
C:UsersfnngjDesktopsuperlists>python3 functional_tests.py
F
======================================================================
FAIL: test_can_start_a_list_and_retrieve_it_later (__main__.NewVisitorTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "functional_tests.py"?? line 21?? in test_can_start_a_list_and_retrieve_it_later
self.fail('Finish the test!')
AssertionError: Finish the test!
----------------------------------------------------------------------
Ran 1 test in 7.070s
FAILED (failures=1)
------------------------------------
?????????????????????????????????????????????TDD?????????????????????????????????