[Python-Dev] the role of assert in the standard library ? (original) (raw)

Raymond Hettinger raymond.hettinger at gmail.com
Thu Apr 28 23:53:50 CEST 2011


On Apr 28, 2011, at 1:27 PM, Holger Krekel wrote:

On Thu, Apr 28, 2011 at 6:59 PM, Guido van Rossum <guido at python.org> wrote:

On Thu, Apr 28, 2011 at 12:54 AM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:

In my opinion assert should be avoided completely anywhere else than in the tests. If this is a wrong statement, please let me know why :)

I would turn that around. The assert statement should not be used in unit tests; unit tests should use self.assertXyzzy() always. FWIW this is only true for the unittest module/pkg policy for writing and organising tests. There are other popular test frameworks like nose and pytest which promote using plain asserts within writing unit tests and also allow to write tests in functions. And judging from my tutorials and others places many people appreciate the ease of using asserts as compared to learning tons of new methods. YMMV.

I've also observed that people appreciate using asserts with nose.py and py.test.

Raymond



More information about the Python-Dev mailing list