我正在一个Python项目中工作,我有一些从另一个扩展的类,它们为它们提供了一个“ORM Layer”来以某种方式调用它。当属性发生变化时,这些对象在数据库中是持久的。
当我想测试这些对象的逻辑时出现了一个大问题,它几乎无法模拟所有内容,而且我很疯狂。
是否有任何策略或指令来测试这种情况?感谢。
答案 0 :(得分:1)
通用策略不是测试数据库或其他框架。假设它们有效。
我不知道使用了哪种持久性/ ORM框架。但是这里的一个好策略是monkey patching:你可以覆盖测试中尝试使用空数据库访问数据库的方法,而不是模拟框架:
def nop(*args, **kw): pass
ORFramework.BaseObject.messThingsUp = nop
其中messThingsUp
是您想要摆脱的类BaseObject
的方法。