I have some doubt with respect to addCleanup() --
- When addCleanup() will be executed, only when there is a failure in any steps or it will be executed in normal scenarios too (when there is no failure)?
- If there is some failure in test, tearDown() will be called but if some steps in tearDown() fails, can we add addCleanup() in tearDown() to call some function which can do a proper cleanup?