On Fri, 7 May 2010 03:53:08 am Damon Timm wrote: > Hi Lie - > > Thanks for that idea -- I tried it but am getting an error. I read a > little about the __dict__ feature but couldn't figure it. I am going > to keep searching around for how to dynamically add methods to a > class ... here is the error and then the code.
With respect to Lie, dynamically adding methods is an advanced technique that is overkill for what you seem to be doing, and the code he gave you can't work without major modification. Tests are code too, and the more complicated you make your tests, the less confidence you should have in them. The more tricks you use (dynamic methods, metaclasses, complicated frameworks, etc.) the higher the chances that your test code itself will be buggy, and therefore your pass/fail results are meaningless. For example, some time ago I was testing some code I had written, and was very happy that all my tests were passing. Then I discovered that *dozens* of tests weren't even being called due to a bug in the framework. When I worked around that problem, I discovered that now my tests were failing. Because my framework was complicated, it had a bug in it, which meant my tests were buggy, which meant my code was buggy and I didn't know. The lesson is, keep your test code simple. Don't play tricks or be too clever. Don't trust your test framework, not even well-known ones like Python's own doctest: you should double check your results, e.g. sometimes I will add a test I know will fail, just to make sure that the framework will see it. -- Steven D'Aprano _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor