2012/7/16 Christian Heimes <li...@cheimes.de>: > > The OSError isn't catched as the code never reaches the line with "raise > OSError". In other words "raise OSError" is never executed as the > exception raised by "assert False" stops the context manager. > > You should avoid testing more than one line of code in a with > self.assertRaises() block. > > Christian > > -- > http://mail.python.org/mailman/listinfo/python-list
Ok now it's more clear, and normally I only test one thing in the block. But I find this quite counter-intuitive, because in the block I want to be able to run something that raises the exception I catch (and which I'm aware of), but if another exception is raised it *should* show it and fail in my opinion.. -- http://mail.python.org/mailman/listinfo/python-list