Python 如何使用pytest测试atexit

Python 如何使用pytest测试atexit,python,python-3.x,unit-testing,pytest,Python,Python 3.x,Unit Testing,Pytest,我试图让我的脚本在退出之前保存一些数据。我查看了atexit文档,我想知道是否有一种方法可以测试流程终止时执行的代码(更具体地说,使用pytest)。也许这样做没有意义,但有可能吗?这是我的密码 atexit调用的方法 @classmethod def保存状态(cls、程序状态、程序管理器): 运行=程序状态。获取当前运行状态() 打印(“退出时保存当前状态…”) 修剪=程序管理器。修剪程序(正在运行) 对于修剪中的pg: 第页现在结束() DataManager.update_pg_次(删减)

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

atexit调用的方法

@classmethod
def保存状态(cls、程序状态、程序管理器):
运行=程序状态。获取当前运行状态()
打印(“退出时保存当前状态…”)
修剪=程序管理器。修剪程序(正在运行)
对于修剪中的pg:
第页现在结束()
DataManager.update_pg_次(删减)
#在程序关闭之前,会更新当前运行的程序
进口退欧
atexit.register(DataManager.save_state、program_state、program_manager)
也许这样做没有意义-我同意这一点,stdlib中已经有了针对
atexit
模块的测试。编写一个测试,用适当的参数调用
save\u state
,就可以了。您还可以编写一个系统测试,在子流程中调用您的程序,并验证程序在退出时是否执行了它应该执行的操作。