I came across the unittest
module and I'm a bit confused. I have a question on the following code in my file test_number.py
:
import unittest
from module import number
class NamesTestCase(unittest.TestCase):
def test_number(self):
verify = number(4)
self.assertEqual(verify, True)
if __name__ == '__main__':
unittest.main()
(function number
from module.py
just verifies some properities of given number)
I want to ask about the if __name__ == '__main__'
part. I know this ensures that the testing will not take place if I import this module, but why do I have to add this if
statement in my test file if I'm running this directly? Or, in other words, why do I have to add this line of code if I know that, when I'm going to use the number()
function somewhere in the future, I won't be importing it from test_number.py
as test_number()
but rather directly from module
?