Для запуска тестов с помощью `unittest` в Python есть несколько способов:
  
    - Использование командной строки:
      Самый распространенный способ - это запуск тестов из командной строки.  Для этого используется модуль `unittest` и его discovery functionality.
      
 Пример:python -m unittest discover -s test_directory -p "test_*.py"
 
 Где:
        - `python -m unittest` - вызывает модуль unittest.
- `discover` - указывает, что нужно использовать механизм автоматического обнаружения тестов.
- `-s test_directory` - (необязательно) указывает директорию, в которой искать тестовые файлы (по умолчанию текущая директория).
- `-p "test_*.py"` - (необязательно) задает шаблон имени тестовых файлов (по умолчанию "test*.py").
- `-t top_level_directory` - (необязательно) указывает top-level directory для проекта (для импортов, если они relative).
 
 Если у вас есть один тестовый файл, можно указать его напрямую:python -m unittest test_module.py
 
- Запуск тестов из кода Python:
      Вы также можете запустить тесты непосредственно из Python скрипта.
      
 Пример:
import unittest
if __name__ == '__main__':
    unittest.main()
      
 Этот код запустит все тесты, найденные в текущем модуле, если он запущен как скрипт (например, `python my_test_file.py`).  Можно также использовать `unittest.main()` с различными аргументами для настройки поведения. Например, `argv=['first-arg-is-ignored'], exit=False` полезно, если `unittest.main()` вызывается в интерактивной сессии, чтобы предотвратить завершение сессии.
- Использование `unittest.TestSuite` и `unittest.TextTestRunner`:
      Более гибкий способ - это создать `TestSuite`, добавить в него нужные тесты и запустить их с помощью `TextTestRunner`.
      
 Пример:
import unittest
def suite():
    suite = unittest.TestSuite()
    suite.addTest(MyTestCase('test_method_one'))
    suite.addTest(MyTestCase('test_method_two'))
    return suite
if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite())
      
 Этот способ позволяет более тонко контролировать, какие тесты будут запущены.  Также можно использовать `TestLoader` для автоматического поиска тестов и добавления их в `TestSuite`.
  Важно:
  
    - Тестовые классы должны наследоваться от `unittest.TestCase`.
- Тестовые методы должны начинаться с префикса `test_`.
- Обычно тестовые файлы называют, например, `test_my_module.py` и кладут их в директорию `tests/`.
  Выбор метода запуска зависит от конкретной задачи и предпочтений разработчика.  Командная строка наиболее удобна для быстрых запусков всех тестов, в то время как программный запуск дает больше гибкости в настройке.