Jacob S. wrote:
Even so, doctest doesn't seem to recognize the module level docstring.
It will run the test inside the functions, but it says there isn't a test on
the module level.
I put the docstring just like in the example at the link you provided...

Please post the code for the module you are testing.


Also, anything I can do... Presently, since I'm running windows xp, I would have to hunt for the command prompt and type in the command

'"C:\python24\python.exe" "C:\documents and settings\jacob\desktop\working
python programs\testmodules.py" -v'

You should put C:\python24 in your PATH environment variable. Not sure how to do that on XP; on Win2K I
- right-click My Computer and select Properties
- click the Advanced tab
- click Environment Variables
- find the System variable Path and edit it
- append ";C:\python24" to Path (no quotes; the semicolon is needed, it is a separator for the Path variable)
- click OK a few times
- restart your DOS shell so it gets the new variable


Now you should be able to open a command line in the directory containing your 
program and type
 > python testmodules.py -v


Oh, the light goes on...you want to be able to just double-click testmodules.py. See below for the fix for -v



...or make a batch file to do it for me... How can I make testmodules.py (shown below) append the -v to itself? Is there a self.results or something in testmod?

From the docs at http://docs.python.org/lib/doctest-basic-api.html: "Optional argument verbose prints lots of stuff if true" So try doctest.testmod(eval(modtotest), verbose=True)


## testmodules.py ########### import doctest

modtotest = 'FractionReducer2'

exec "import %s" % modtotest
doctest.testmod(eval(modtotest))
raw_input()
#############################

Since you will be editing this to change the module under test, I don't think there is any benefit to putting the module name in a string. I would write it like this:


import doctest
import FractionReducer2 as test_module
doctest.testmod(test_module, verbose=True)
raw_input()

This preserves the single point of change when you want to test a different module, but it is IMO much more readable.

Kent
_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to