diff options
Diffstat (limited to 'lib/sqlalchemy/testing/assertions.py')
| -rw-r--r-- | lib/sqlalchemy/testing/assertions.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py index 819fedcc7..f057ae37b 100644 --- a/lib/sqlalchemy/testing/assertions.py +++ b/lib/sqlalchemy/testing/assertions.py @@ -307,6 +307,20 @@ def assert_raises(except_cls, callable_, *args, **kw): assert success, "Callable did not raise an exception" +def assert_raises_return(except_cls, callable_, *args, **kw): + ret_err = None + try: + callable_(*args, **kw) + success = False + except except_cls as err: + success = True + ret_err = err + + # assert outside the block so it works for AssertionError too ! + assert success, "Callable did not raise an exception" + return ret_err + + def assert_raises_message(except_cls, msg, callable_, *args, **kwargs): try: callable_(*args, **kwargs) |
