On 4/28/11 3: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. > > Holger > >> regular code, assert should be about detecting buggy code. It should >> not be used to test for error conditions in input data. (Both these >> can be summarized as "if you still want the test to happen with -O, >> don't use assert.) Regardless of whether those frameworks encourage it, it's still the wrong thing to do for the reason that Guido states. Some bugs only show up under -O, so you ought to be running your test suite under -O, too. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4