Unit testing ORM相关对象的单元测试

Unit testing ORM相关对象的单元测试,unit-testing,orm,mocking,Unit Testing,Orm,Mocking,我在一个Python项目中工作,在这个项目中,我有一些类是从另一个类扩展而来的,这些类提供了一个“ORM层”来以某种方式调用它。当这些对象的属性更改时,它们在数据库中是持久的 当我想测试这些对象的逻辑时,最大的问题来了,真的很难模拟所有的东西,我快发疯了 是否有任何策略或指令来测试这种情况?谢谢。通用策略不是测试数据库或其他框架。假设它们有效 我不知道使用了哪个persistence/ORM框架。但这里有一个很好的策略:不要模拟框架,而是覆盖测试中试图用空方法访问数据库的方法: def nop(

我在一个Python项目中工作,在这个项目中,我有一些类是从另一个类扩展而来的,这些类提供了一个“ORM层”来以某种方式调用它。当这些对象的属性更改时,它们在数据库中是持久的

当我想测试这些对象的逻辑时,最大的问题来了,真的很难模拟所有的东西,我快发疯了


是否有任何策略或指令来测试这种情况?谢谢。

通用策略不是测试数据库或其他框架。假设它们有效

我不知道使用了哪个persistence/ORM框架。但这里有一个很好的策略:不要模拟框架,而是覆盖测试中试图用空方法访问数据库的方法:

def nop(*args, **kw): pass

ORFramework.BaseObject.messThingsUp = nop

其中
mesthingsup
是您想要摆脱的类
BaseObject
的方法。

使用了哪种ORM框架?由于不同类型的方法:静态、类方法或绑定到对象的方法,我在这样做时遇到了问题。我使用python模拟库中的
mock
来摆脱基类方法。虽然不完全是你说的,但它帮助我思考。谢谢