expecter helpt u om beweringen te schrijven. Nooit meer zal je vergeten, dat wordt verwacht en dat is werkelijk!
Basis verwachtingen zijn eenvoudig:
& Nbsp; >>> van expecter import verwacht
& Nbsp; >>> verwachten ('wat' + 'ding') == 'iets'
& Nbsp; verwachten ('iets')
& Nbsp; >>> verwachten (1)> 100
& Nbsp; Traceback (meest recente oproep vorige):
& Nbsp; ...
& Nbsp; AssertionError: Verwachte iets dat groter is dan 100, maar kreeg 1
Lees net de verwachtingen als een straf. "Verwachten (2) == 1 + 1" leest als "verwacht 2 gelijke 1 + 1". Uiteraard, de verwachting is ongeveer 2, en het wordt vergeleken met 1 + 1. Geen ambiguïteit!
uitzonderingen
Verwachtingen over uitzonderingen gebruik maken van de "met" statement. Alles is goed als het verwachte uitzondering wordt verhoogd:
& Nbsp; >>> van __future__ import with_statement
& Nbsp; >>> met expect.raises (KeyError):
& Nbsp; ... {} [123]
Als het niet is opgeheven, zal Expecter Gadget een AssertionError verhogen:
& Nbsp; >>> met expect.raises (KeyError):
& Nbsp; ... pas
& Nbsp; Traceback (meest recente oproep vorige):
& Nbsp; ...
& Nbsp; AssertionError: Verwachte een uitzondering van het type KeyError maar kreeg geen
Uitzonderingen die niet overeenkomen met de verwachte men zal niet worden ingeslikt, zodat uw test zal fout zoals je zou verwachten:
& Nbsp; >>> van __future__ import with_statement
& Nbsp; >>> met expect.raises (NameError):
& Nbsp; ... {} [123]
& Nbsp; Traceback (meest recente oproep vorige):
& Nbsp; ...
& Nbsp; KeyError: 123
CUSTOM VERWACHTINGEN
U kunt een aangepaste verwachting toe met de add_expectation methode. Je geeft het een predikaat dat waar als de verwachting slaagt en valse moet terugkeren als het niet lukt. Alle verwachting objecten zal een methode te groeien met de naam van uw predikaat methode (dus geen gebruik maken van een lambda). Gepaste uitzondering berichten worden gegenereerd wanneer je predikaat mislukt:
& Nbsp; >>> import expecter
& Nbsp; >>> def can_meow (zaak):
& Nbsp; ... return ding == 'Kitty'
& Nbsp; >>> expecter.add_expectation (can_meow)
& Nbsp; >>> verwachten ('Kitty') can_meow ().
& Nbsp; >>> verwachten ('puppy') can_meow ().
& Nbsp; Traceback (meest recente oproep vorige):
& Nbsp; ...
& Nbsp; AssertionError: Verwachte dat 'puppy' can_meow, maar het kan niet
Eisen
- Python
Reacties niet gevonden