Почему не работает тест без if __name__ == '__main__'?
Помогите пожалуйста разобраться почему без строчки if __name__ == '__main__': перед unittest.main() тест не находит?
Код:
import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
"""Тесты для 'name_function.py'."""
def test_first_last_name(self):
"""Имена вида 'Janis Joplin' работают правильно?"""
formatted_name = get_formatted_name('janis', 'joplin')
self.assertEqual(formatted_name, 'Janis Joplin')
unittest.main()
В модуле name_function только одна функция:
def get_formatted_name(first, last):
"""Строит отформатированное полное имя."""
full_name = f"{first} {last}"
return full_name.title()
Использую PyCharm последней версии. Знаю, что для того, чтобы тест работал в PyCharm можно вообще эти строчки не добавлять, но хочу разобраться именно с самой логикой: почему без строки if __name__ == '__main__': результат как на скриншоте, а если ее добавить, то все работает как надо?
