首页 > 解决方案 > 如何使用 pytest 测试 atexit

问题描述

我试图让我的脚本在退出之前保存一些数据。我查看了 atexit 文档,我想知道是否有一种方法可以测试进程终止时执行的代码(更具体地说,使用 pytest)。也许这样做没有意义,但有可能吗?这是我的代码

atexit 调用的方法

@classmethod
def save_state(cls, program_state, program_manager):
    running = program_state.get_curr_running()
    print("Saving the current state upon exit...")
    pruned = program_manager.prune_programs(running)
    for pg in pruned:
        pg.end_now()
    DataManager.update_pg_times(pruned)
# Before the program is shutdown, currently running programs are updated
import atexit
atexit.register(DataManager.save_state, program_state, program_manager)

标签: pythonpython-3.xunit-testingpytest

解决方案


推荐阅读