/
liquid-g
/
liquid-code
Обзор
Документация
Войти
/
liquid-g
/
liquid-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop-0.4
tests/unit/test_test_console.py
63 строки
2 KB
User
0.4.9 - переработка документации, рефакторинг кода, покрытие тестами 70%
06 июл 2026, 13:37
06 июл 2026, 13:37
79b2ebc
Код
Авторство
О чём код?
"""Unit-тесты для console.py.""" import pytest from unittest.mock import patch class TestConsole: """Тесты для main() в console.py.""" def test_main_with_version_flag(self): """Проверка флага --version.""" from liquidcode.console import main with patch('sys.argv', ['lcc', '--version']): with pytest.raises(SystemExit) as exc_info: main() assert exc_info.value.code == 0 def test_main_with_invalid_command(self): """Неверная команда.""" from liquidcode.console import main with patch('sys.argv', ['lcc', 'invalid_command']): with pytest.raises(SystemExit) as exc_info: main() # argparse возвращает 2 для ошибок assert exc_info.value.code == 2 def test_main_with_valid_command(self): """Верная команда (serve --help).""" from liquidcode.console import main with patch('sys.argv', ['lcc', 'serve', '--help']): with pytest.raises(SystemExit) as exc_info: main() assert exc_info.value.code == 0 def test_main_with_keyboard_interrupt(self): """Обработка KeyboardInterrupt при выполнении команды.""" from liquidcode.console import main import liquidcode.console def interrupt_handler(args): raise KeyboardInterrupt() original_commands = liquidcode.console.COMMANDS.copy() original_commands['serve'] = interrupt_handler try: liquidcode.console.COMMANDS = original_commands with patch('sys.argv', ['lcc', 'serve']): with patch('sys.stdout') as mock_stdout: with pytest.raises(SystemExit) as exc_info: main() assert exc_info.value.code == 1 finally: # Восстанавливаем COMMANDS liquidcode.console.COMMANDS = original_commands