Successfully reported this slideshow.
Django	
                                	


                                      	
  
             @torufurukawa	
  (#buc...
Django	
                  	

•  manage.py	
  test	
  
•  Fixtures	
  
•  Clinet
manage.py	
  test	
$	
  python	
  manage.py	
  test	
  -­‐-­‐help	
  
Usage:	
  manage.py	
  test	
  [options]	
  [appname...
<app>/tests.py	
                                                 	
from	
  django.test	
  import	
  TestCase	
  
from	
  m...
manage.py	
  test	
                                                                            	
$	
  python	
  manage.py	...
manage.py	
  test	
  myapp.MyTest	
   	
  
                                  	

$	
  python	
  manage.py	
  test	
  bucho	...
$	
  cat	
  testdata.json	
  	
  
[	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "pk":	
  1,	
  	
  
	
  	
  ...
manage.py	
  dumpdata	
   	
  
                                      	
$	
  python	
  manage.py	
  dumpdata	
  
[{"pk":	
 ...
fixtures	
                         	
  
                                                             	
Class	
  MyTest(Test...
SQLite	
  3	
                              	
  
                                                                  	
#	
  s...
view	
                                                                                 	
  Client	
>>>	
  help(Client)	
  ...
Client.get(	
  )	
                     client.post(	
  )	
class	
  MyTest(TestCase):	
  
	
  	
  def	
  test_get(self):	
 ...
 
                                                       	

Client.session	
                  Django	
                    ...
Django	
                           	
•  manage.py	
  test	
                 	
  
•  Fixtures	
              	
  
•  Client...
Django
Django
Django
Django
Upcoming SlideShare
Loading in …5
×

Django

2,006 views

Published on

BPStudy#37

Published in: Technology
  • Be the first to comment

Django

  1. 1. Django     @torufurukawa  (#bucho)
  2. 2. Django   •  manage.py  test   •  Fixtures   •  Clinet
  3. 3. manage.py  test $  python  manage.py  test  -­‐-­‐help   Usage:  manage.py  test  [options]  [appname  ...]   Runs  the  test  suite  for  the  specified   applications,  or  the  entire  site  if  no   apps  are  specified.  
  4. 4. <app>/tests.py   from  django.test  import  TestCase   from  myapp  import  extract   class  ExtractTest(TestCase):      def  test  (self):          self.assertEqual(                          extract(u' ',u' '),                            u' ')  
  5. 5. manage.py  test   $  python  manage.py  test   Creating  test  database  'default’…     ...........   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   Ran  17  tests  in  0.419s   OK   $  
  6. 6. manage.py  test  myapp.MyTest     $  python  manage.py  test  bucho   $  python  manage.py  test  bucho.TestShow  
  7. 7. $  cat  testdata.json     [          {                  "pk":  1,                    "model":  "api.systemstatus",                    "fields":  {                          "corner":  "2",                            "mode":  "1",                            "quesQon_id":  null                  }          },     ]  
  8. 8. manage.py  dumpdata     $  python  manage.py  dumpdata   [{"pk":  1,  "model":  "api.systemstatus",  "fields":   {"corner":  "0",  "mode":  "0",  "quesQon_id":   76}}  …..  ]   . $  python  manage.py  dumpdata  app   $  python  manage.py  dumpdata  app.MyModel  
  9. 9. fixtures     Class  MyTest(TestCase):          fixtures  =  [‘mydata.json’]          def  test_xxx(self):                  …  
  10. 10. SQLite  3     #  se_ngs_test.py   DATABASES  =  {          'default':  {                  'ENGINE':  'sqlite3',                    'NAME':  ':memory:',                    …          }   }  
  11. 11. view    Client >>>  help(Client)   Help  on  class  Client  in  module  django.test.client:   class  Client(__builQn__.object)    |    A  class  that  can  act  as  a  client  for  tesQng  purposes.    |        |    It  allows  the  user  to  compose  GET  and  POST  requests,  and    |    obtain  the  response  that  the  server  gave  to  those  requests.    …    |    Client  objects  are  stateful  -­‐  they  will  retain  cookie  (and    |    thus  session)  details  for  the  lifeQme  of  the  Client  instance.  
  12. 12. Client.get(  )   client.post(  ) class  MyTest(TestCase):      def  test_get(self):          res  =  self.client.get(‘/foo’)          self.assertEqual(res.status_code,                                            200)      def  test_post(self):            res  =  self.client.post(                        ‘/bar’,                              {‘key’:’value’})            …
  13. 13.   Client.session Django     TestCase.assertTemplateUsed     TestCase.assertFormError       TestCase.assertRedirects    
  14. 14. Django   •  manage.py  test     •  Fixtures     •  Client   view  

×