Python Glossary English

все Python 3unittestфункция

unittest.registerResult()

прерывание по Ctrl+C

Регистрирует объект TestResult у обработчика Ctrl+C, чтобы прерывание останавливало именно этот прогон, а не убивало процесс.

Синтаксис

unittest.registerResult(result)

Нужна только тому, кто запускает тесты своим кодом через suite.run(result): TextTestRunner регистрирует свой результат сам. Без installHandler() регистрация ничего не меняет — Ctrl+C по-прежнему бросит KeyboardInterrupt. Модуль хранит слабую ссылку, так что зарегистрированный результат не мешает сборке мусора.

Примеры

import os
import signal
import unittest
unittest.installHandler()
result = unittest.TestResult()
unittest.registerResult(result)
os.kill(os.getpid(), signal.SIGINT)  # имитация Ctrl+C
print(result.shouldStop)  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности