-2

我对该代码有疑问。它有什么问题?

class test(osv.osv):
    _name = "test"    
    _description = "uuuu"    

    def tttttt():
        return "testtt"

test() 

instance = test()
print (instance.tttttt())
4

1 回答 1

0

有趣的问题。经过一番挖掘,似乎OpenERP框架对对象创建机制做了一些奇怪的事情。对于BaseModellikeosv.osv和您的类的子类,该__new__()方法只是在池中注册该类并返回None.

您可以通过稍微修改您的打印声明来确认这一点。

instance = test()
print instance is None # will print True.

据我所知,OpenERP 模型类不能在服务器进程之外运行。如果您正在尝试编写单元测试或其他东西,您要么必须编写单独的帮助程序类并对其进行测试,要么使用YAML 测试框架运行全面的集成测试。

有关测试助手类的示例,请参阅我们的product_stockouts模块。这些sim_*类是单元测试的助手,它们都被product_stockouts.py.

于 2012-08-23T21:04:33.293 回答