2016-06-16 15 views
0

Ich schreibe pytest Unit-Tests für die folgende FunktionWie behaupten, in Valueerror pytest

from datetime import datetime 

def validate_timestamp(timestamp): 

"""Confirm that the passed in string is in the proper format %Y%m%d_%H""" 

try: 
    ts = datetime.strptime(str(timestamp),'%Y%m%d_%H') 
except: 
    raise ValueError("{0} must be in the format `%Y%m%d_%H".format(timestamp)) 
return datetime.strftime(ts,'%Y%m%d_%H') 

Wie würde ich ein ungültiges Zeitstempel testen? Was wäre der beste Komponententest, um dafür zu schreiben?

+0

Mögliche Duplikate von [Wie richtig geltend gemacht werden, dass die Ausnahme in Pytest erhöht?] (Http://stackoverflow.com/questions/23337471/how-to-properly-assert-that-exception-raises-in-pytest) –

Antwort

1

den Code ausführen, der erwartet wird, eine Ausnahme in einem with Block wie zu erhöhen:

with pytest.raises(ValueError): 
    # code 

Details und Option bitte https://pytest.org/latest/assert.html lesen.