文件在Python中完成运行后自动运行功能

时间:2019-03-31 15:19:57

标签: python atexit

我正在创建一个简单的测试模块,并希望在所有测试完成后显示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

我很感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我认为最好将测试用例包装在一个方法中,然后最后调用summary函数。像这样:

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

这在所有情况下都适用。