如何检测某人何时更改python dict(和/或对象)?

2024-05-13 12:52:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一些单元测试(1000个中的一些)正在修改pytest固定装置,这会导致测试无缘无故地失败。我们正在运行pytest-n8,测试执行的顺序对我们来说并不重要(越快越好),但是当其中一个行为不正常的测试出现在依赖于某个fixture的某个部分的东西前面时,我们会得到一个随机的unittest失败

有没有办法使一个object/dict不可变,或者在这个object被更改时引发一个异常,这样我就可以在行为中抓住罪犯

我想保护这样的东西:

settings = load_settings(....)
settings = protect_settings(settings)

它看起来有点像模拟库,对对象的功能进行内省,然后镜像实际操作,并对设置的操作抛出一些异常。我希望这已经建成了

我们仍然在Python2.7:-(


Tags: 对象settingsobject顺序pytestload单元测试unittest