On 4/23/2010 8:03 AM, Cameron Simpson wrote:
On 23Apr2010 13:25, Peter Otten<__pete...@web.de>  wrote:

| Move the unit tests into a separate script and have that import the module
| cs.nodedb.node.

Hmm. I have been very attracted by the idea of having the unittest in
the module itself, and run if I "run" the module alone (instead of
importing it).

I do this too. edit, run (F5 in IDLE), (click back to edit window) edit, run, ... several times in an hour. Very nice.

But... I have simpler modules (function, not class definitions) and no circular imports. So I was thinking the same thing Peter said for your case.

Conversely, I've also got a few modules that are standalone programs
and running _then_ runs the app, not a bunch of tests.

Having the tests elsewhere would solve the problem as you say; an import
of the module is what "real" code will be doing and, as my misadventure
above demonstrates, that's a different thing as far as namespaces go.

| In general, avoid importing a module and at the same time using it as the
| main script.

Fsir enough - that's a succinct description of what I did wrong.

Several people have posted problems that amount to this. An 'exciting gotcha' indeed ;-).

Terry Jan Reedy



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to