Автоматически запускать функцию после завершения работы файла в Python - PullRequest
0 голосов
/ 31 марта 2019

Я создаю простой модуль тестирования и хотел бы, чтобы final_output отображался после завершения всех тестов.

Я пытался использовать atexit.register , но он запускается толькофункция при завершении интерпретатора.Это работает в программах, которые выходят автоматически (например, PyCharm), но в других, таких как IDLE, оно не будет отображаться.

@atexit.register
def final_output():
    print("Out of {0} tests, {1} succeeded and {2} failed".format(
                    config.total_tests,
                    config.number_success,
                    config.number_failed,
                )
            )

Test Output

Iблагодарен за любой совет.

1 Ответ

0 голосов
/ 31 марта 2019

Я думаю, вам лучше обернуть тестовый пример в метод и в конце вызвать функцию итога. Что-то вроде:

def test():
    results = run_test_cases() 
    show_results(results) 

Это будет работать во всех случаях.

...