[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