Chris Fonnesbeck wrote: > I have a module for which I am trying to code a unit test. However, > when I run unittest.main(), I get: > > In [1]: import PyMC > > In [2]: PyMC.unittest.main() > > ---------------------------------------------------------------------- > Ran 0 tests in 0.000s > > OK > > > This is confusing, because I have set up a class called MCMCTest that > is a sublcass of unttest.TestCase, which in turn contains a test > method. Yet, unittest seems not to be aware of it. Is there anything I > am forgetting?
By default unittest.main() scans the __main__ module for TestCases. Though you could use it from an interactive interpreter >>> import unittest >>> unittest.main("PyMC", argv=["yadda", "-v"]) test_alpha (PyMC.Test) ... ok test_beta (PyMC.Test) ... ok ---------------------------------------------------------------------- Ran 2 tests in 0.000s OK $ # Oops without countermeasures unittest.main() will exit that too after completion. The normal usage (the only one I know) is to put it inside the test script: # your testcases if __name__ == "__main__": unittest.main() and run that from the shell: $ python PyMC.py -v test_alpha (__main__.Test) ... ok test_beta (__main__.Test) ... ok ---------------------------------------------------------------------- Ran 2 tests in 0.001s OK Peter -- http://mail.python.org/mailman/listinfo/python-list