I understand that __main__
is the name of __main__.py
, which in this case is test_employee
. But what I don't understand is the unittest module and the class that I want to test are being imported.
Then why __name__
is still same as __main__
? As I understood, __name__
represents the modules being imported.
test_employee.py
import unittest
from employee import Employee
class TestEmployee(unittest.TestCase):
def setUp(self):
self.employee1 = Employee('June', 'July')
self.employee2 = Employee('Jane', 'Marshal')
def test_give_default_raise(self):
self.assertEqual(5000, self.employee1.annual_salary)
def test_give_custom_raise(self):
self.employee2.give_raise(1000)
self.assertEqual(6000, self.employee2.annual_salary)
if __name__ == '__main__':
unittest.main()