Assertions in code are for documenting and checking things that can&#x27;t happen unless there&#x27;s a bug.  This helps programmers reason about the code as they read it, and helps us find errors closer to the defect that caused them.<p>If a test case triggers an assertion violation down in some method, <i>there is a bug</i>.  That should break the test, so that I&#x27;m told about the bug, and can investigate and fix it.  If there happens to be a `try...except Exception` anywhere in the stack above that method, the test never learns that an assertion fired and might even pass.  This makes every test less useful than it could be.