I'm trying to learn how to use the unittest
framework in python. I keep getting the message below when I run my file containing the tests.
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
I've searched here and elsewhere and can't figure out why it is not recognizing the tests. Each test starts with test
and the other portions of the unittest
seem to match what the documentation requires.
Here is the text of the script:
import unittest
from datetime import datetime, timedelta
class Activity(object):
'Holds detail information on a activity'
def __init__(self, location, activity_name, activity_id, start_date, end_date):
self.activity_name = activity_name
self.activity_id = activity_id
self.start_date = datetime.strptime(start_date, '%m/%d/%Y').date()
self.end_date = datetime.strptime(end_date, '%m/%d/%Y').date()
self.location = location
if __name__ == '__main__':
unittest.main()
class TestActivity(unittest.TestCase):
def setUp(self):
self.activity = Activity('UVU', 'OpenWest', 'Beginning Python'
, '00000', '12/1/2013', '12/30/3013')
def test_activity_creation(self):
self.assertEqual(self.activity.location, 'UVU')
self.assertEqual(self.activity.activity_name, 'OpenWest')
self.assertEqual(self.activity.activity_id, '00000')
self.assertEqual(self.activity.start_date, datetime.strptime('12/1/2013', '%m/%d/%Y').date())
self.assertEqual(self.activity.start_date, datetime.strptime('12/30/2013', '%m/%d/%Y').date())
def test1(self):
self.assertEqual(1,1)
def tearDown(self):
del self.activity
Any help is appreciated
If you move
if __name__ == '__main__':
unittest.main()
To the end of the script, then it will work.
Here is my speculation: when you called unittest.main()
in the middle of the script, your test class has not been defined yet, thus unittest
did not pick up any tests. By moving the unittest.main()
to the end, or more precisely--after your define your test class, you make sure that unittest
sees those tests.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With