[PIPython] testing di applicazioni asincrone ?

Andrea Manzini amanzini
Ven 19 Nov 2004 15:16:54 CET


Ciao a tutti,

Nei siti dedicati a Python si legge spesso quanto sia importante approntare 
dei test per i propri programmi, spesso si sente dire anche che si 
dovrebbero scrivere i test prima del software. Ho guardato i moduli 
appositi (unittest, doctest) e per quel poco che ne so, direi che sono ben 
fatti... Mi rimane un dubbio: l'applicazione che ho in progetto sfrutta l' 
I/O di rete asincrono con callback ed eventi, per fare un esempio semplice 
con un po' di codice noto:

%%cut%%

class http_client (asyncore.dispatcher):

     def __init__ (self, host, path):
         asyncore.dispatcher.__init__ (self)
         self.path = path
         self.create_socket (socket.AF_INET, socket.SOCK_STREAM)
         self.connect ((host, 80))
         self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % self.path

     def handle_connect (self):
         pass

     def handle_read (self):
         data = self.recv (8192)
         print data

     def writable (self):
         return (len(self.buffer) > 0)

     def handle_write (self):
         sent = self.send (self.buffer)
         self.buffer = self.buffer[sent:]


%%cut%%

La domanda e': come si scrivono i test per questo tipo di applicazioni ? E 
se usassi un framework tipo Twisted, che test dovrei scrivere ?

grazie per le risposte :)



-- 
#!/usr/bin/python
(you,love,me)=('Madein zAr','0-*1+).()-/,-,',len('.signature')<<1)
print ''.join([you[give-me] for give in [ord(er)-me for er in love]])




























More information about the Python mailing list