Thanks for the reply, but neither of those work for me. I don't seem to have the "trial" program installed. Where do you get it?
Also, when I use the try/catch block, I get the following error: Traceback (most recent call last): File "_test.py", line 10, in <module> pdb.pm() File "c:\python25\lib\pdb.py", line 1148, in pm post_mortem(sys.last_traceback) AttributeError: 'module' object has no attribute 'last_traceback' On 7/18/07, Jean-Paul Calderone <[EMAIL PROTECTED]> wrote:
On Wed, 18 Jul 2007 16:40:46 -0400, "Emin.shopper Martinian.shopper" < [EMAIL PROTECTED]> wrote: >Dear Experts, > >How do you use pdb to debug when a TestCase object from the unittest module >fails? Basically, I'd like to run my unit tests and invoke pdb.pm when >something fails. > >I tried the following with now success: > >Imagine that I have a module _test.py that looks like the following: > >----------------------- >import unittest >class MyTest(unittest.TestCase): > def testIt(self): > raise Exception('boom') >if __name__ == '__main__': > unittest.main() >----------------------- > >If I do >>>>import _test; _test.unittest() > >no tests get run. > >If I try >>>>import _test; t = _test.MyTest() > >I get > >Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "c:\python25\lib\unittest.py", line 209, in __init__ > (self.__class__, methodName) >ValueError: no such test method in <class '_test.MyTest'>: runTest > >If I try >>>>import _test; t = _test.MyTest(methodName='testIt'); t.run() > >nothing happens. I use `trial -b <filename>', which automatically enables a bunch of nice debugging functionality. ;) However, you can try this, if you're not interested in using a highly featureful test runner: try: unittest.main() except: import pdb pdb.pm() This will "post-mortem" the exception, a commonly useful debugging technique. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list
-- http://mail.python.org/mailman/listinfo/python-list