Unit Test not running

Question:

I’m getting stuck with some unittests.

Here’s the simplest example I could come up with:

#testito.py
import unittest

class Prueba(unittest.TestCase):

    def setUp(self):
        pass
    def printsTrue(self):
        self.assertTrue(True)

if __name__=="__main__":
    unittest.main()

Problem is, running this has no effect:

$ python testito.py 

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

I’m scratching my head as I don’t see any problem with the code above.
It happened with a couple of tests now and I don’t really know what to do next.
Any idea?

Asked By: tutuca

||

Answers:

By default, only functions whose name that start with test are run:

class Prueba(unittest.TestCase):

    def setUp(self):
        pass
    def testPrintsTrue(self):
        self.assertTrue(True)

From the unittest basic example:

A testcase is created by subclassing unittest.TestCase. The three individual tests are defined with methods whose names start with the letters test. This naming convention informs the test runner about which methods represent tests.

Answered By: Martijn Pieters
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.