Issue
Is it possible to get the results of a test (i.e. whether all assertions have passed) in a tearDown() method? I'm running Selenium scripts, and I'd like to do some reporting from inside tearDown(), however I don't know if this is possible.
Solution
CAVEAT: I have no way of double checking the following theory at the moment, being away from a dev box. So this may be a shot in the dark.
Perhaps you could check the return value of sys.exc_info()
inside your tearDown() method, if it returns (None, None, None)
, you know the test case succeeded. Otherwise, you could use returned tuple to interrogate the exception object.
See sys.exc_info documentation.
Another more explicit approach is to write a method decorator that you could slap onto all your test case methods that require this special handling. This decorator can intercept assertion exceptions and based on that modify some state in self
allowing your tearDown method to learn what's up.
@assertion_tracker
def test_foo(self):
# some test logic
Answered By - Pavel Repin
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.