Unit testing ORM相关对象的单元测试
我在一个Python项目中工作,在这个项目中,我有一些类是从另一个类扩展而来的,这些类提供了一个“ORM层”来以某种方式调用它。当这些对象的属性更改时,它们在数据库中是持久的 当我想测试这些对象的逻辑时,最大的问题来了,真的很难模拟所有的东西,我快发疯了Unit testing ORM相关对象的单元测试,unit-testing,orm,mocking,Unit Testing,Orm,Mocking,我在一个Python项目中工作,在这个项目中,我有一些类是从另一个类扩展而来的,这些类提供了一个“ORM层”来以某种方式调用它。当这些对象的属性更改时,它们在数据库中是持久的 当我想测试这些对象的逻辑时,最大的问题来了,真的很难模拟所有的东西,我快发疯了 是否有任何策略或指令来测试这种情况?谢谢。通用策略不是测试数据库或其他框架。假设它们有效 我不知道使用了哪个persistence/ORM框架。但这里有一个很好的策略:不要模拟框架,而是覆盖测试中试图用空方法访问数据库的方法: def nop(
是否有任何策略或指令来测试这种情况?谢谢。通用策略不是测试数据库或其他框架。假设它们有效 我不知道使用了哪个persistence/ORM框架。但这里有一个很好的策略:不要模拟框架,而是覆盖测试中试图用空方法访问数据库的方法:
def nop(*args, **kw): pass
ORFramework.BaseObject.messThingsUp = nop
其中
mesthingsup
是您想要摆脱的类BaseObject
的方法。使用了哪种ORM框架?由于不同类型的方法:静态、类方法或绑定到对象的方法,我在这样做时遇到了问题。我使用python模拟库中的mock
来摆脱基类方法。虽然不完全是你说的,但它帮助我思考。谢谢