1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
from functools import wraps
import pytest
def eq_(a, b):
assert a == b
def assert_raises(exc, func, *args, **kwargs):
pytest.raises(exc, func, *args, **kwargs)
def raises(*exceptions):
valid = ' or '.join([e.__name__ for e in exceptions])
def decorate(func):
name = func.__name__
def newfunc(*arg, **kw):
try:
func(*arg, **kw)
except exceptions:
pass
except:
raise
else:
message = "%s() did not raise %s" % (name, valid)
raise AssertionError(message)
newfunc = wraps(func)(newfunc)
return newfunc
return decorate
|