On Apr 4, 4:58 am, Peter Otten <__pete...@web.de> wrote: > Personally, though, I prefer unit tests over assertions.
IMO, the primary use cases for assertions and unit tests are not the same. When I have a well-defined, clearly understood specification that I am coding to and fully implementing with the aim of producing a fully general purpose solution that I are offering to others, unit tests are appropriate to make sure that the code matches the spec, and even to provide usage examples. When I am using Python in what I would call a more personal way, for example in an exploratory fashion to extract value from some large mass of data, or even to do something like parsing on a subset of another language, where I have no intention, desire, or time to implement the entire spec, assertions are perfectly appropriate to make sure that my code complains at a convenient point about input data that it would not handle properly. It is often the case that a more personal project will grow up and become more general purpose and widely used. At this point, it is appropriate to remove assertions, add unit tests, etc., but to complain about not having unit tests in the first place is to avoid acknowledging that there may be a higher cost associated with unit tests than with assertions, especially with immature code that may be severely refactored several times before settling on the best solution. Regards, Pat -- http://mail.python.org/mailman/listinfo/python-list