Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problem including tests in unittest

2 views
Skip to first unread message

Chris Fonnesbeck

unread,
Oct 12, 2006, 1:24:37 PM10/12/06
to pytho...@python.org
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?

Thanks,
Chris

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us

Peter Otten

unread,
Oct 12, 2006, 2:58:33 PM10/12/06
to
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

0 new messages