Python Glossary English

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

unittest.removeHandler()

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

Снимает обработчик Ctrl+C, поставленный installHandler(), и возвращает прежний; работает и как декоратор для отдельного теста.

Синтаксис

unittest.removeHandler()
@unittest.removeHandler
def test_x(self): ...

Как декоратор, @unittest.removeHandler, он снимает обработчик только на время одного теста и затем возвращает его — это нужно тесту, который сам проверяет реакцию на KeyboardInterrupt: под обработчиком unittest первый Ctrl+C до кода теста не дойдёт. Вызов без установленного обработчика ничего не делает.

Примеры

import signal
import unittest
unittest.installHandler()
print(signal.getsignal(signal.SIGINT) is signal.default_int_handler)  # → False
unittest.removeHandler()
print(signal.getsignal(signal.SIGINT) is signal.default_int_handler)  # → True

См. также

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