expecter aiuta a scrivere affermazioni. Mai più si dimentica che è previsto e che è reale!
Le aspettative di base sono semplici:
& Nbsp; >>> da expecter import aspetta
& Nbsp; >>> aspettare ('un po' + 'cosa') == 'qualcosa'
& Nbsp; si aspettano ('qualcosa')
& Nbsp; >>> aspettarsi (1)> 100
& Nbsp; Traceback (chiamata più recente scorso):
& Nbsp; ...
& Nbsp; AssertionError: atteso qualcosa di più grande di 100, ma ha ottenuto 1
Basta leggere le aspettative come una condanna. "Aspettarsi (2) == 1 + 1", si legge come "Aspettatevi 2 a parità di 1 + 1". Ovviamente, l'attesa è di circa 2, ed è di essere paragonato a 1 + 1. No ambiguità!
ECCEZIONI
Le aspettative circa eccezioni usano il "con" dichiarazione. Tutto è buono se viene sollevata l'eccezione prevista:
& Nbsp; >>> da __future__ with_statement import
& nbsp; >>> con expect.raises (KeyError):
& Nbsp; ... {} [123]
Se non è sollevato, Expecter Gadget genererà un AssertionError:
& nbsp; >>> con expect.raises (KeyError):
& Nbsp; ... passaggio
& Nbsp; Traceback (chiamata più recente scorso):
& Nbsp; ...
& Nbsp; AssertionError: prevista un'eccezione di tipo KeyError ma ottenuto nessuno
Eccezioni che non corrisponde a quello atteso non verranno ingerite, in modo che il test sarà errore come previsto:
& Nbsp; >>> da __future__ with_statement import
& nbsp; >>> con expect.raises (NameError):
& Nbsp; ... {} [123]
& Nbsp; Traceback (chiamata più recente scorso):
& Nbsp; ...
& Nbsp; KeyError: 123
ASPETTATIVE CUSTOM
È possibile aggiungere una aspettativa personalizzato con il metodo add_expectation. Si dà un predicato che deve restituire true se l'attesa ha successo e false se fallisce. Tutti gli oggetti aspettativa crescerà un metodo con il nome del metodo predicato (in modo da non utilizzare un lambda). Adeguate messaggi di eccezione saranno generati quando il predicato non riesce:
& Nbsp; >>> expecter import
& Nbsp; >>> def can_meow (cosa):
& Nbsp; ... cosa ritorno == 'gattino'
& Nbsp; >>> expecter.add_expectation (can_meow)
& Nbsp; >>> aspettarsi ('gattino') can_meow ().
& Nbsp; >>> aspettarsi ('cucciolo') can_meow ().
& Nbsp; Traceback (chiamata più recente scorso):
& Nbsp; ...
& Nbsp; AssertionError: atteso che can_meow 'cucciolo', ma non può
Requisiti :
- Python
I commenti non trovato