控制台脚本运行鼻子与良好的导入
anybox.nose.odoo的Python项目详细描述
这是一个替代的测试运行程序,可以防止混乱的情况 因为odoo插件有特殊的openerp.addons命名空间。
目前,它应该与 buildout recipe仅限。
用例
odoo重写odoo插件的python导入程序(也称为 modules但是我们在这里避免使用这个术语,以免与 python模块),将它们放入openerp.addons名称空间。
例如,某些fooodoo加载项将在sys.modules中设置为 openerp.addons.foo而不仅仅是foo。
问题是nose直接导入测试模块,而 结果它们不在openerp.addons命名空间中。这个 导致odoo插件作为python模块的整体复制, 在某些情况下会混淆代码。例如,一些 isinstance()调用可能失败,具体取决于执行路径。
值得注意的是,这个运行器对于与Odoo connector framework相关的测试是必需的。历史上 是上述问题产生的背景。Anybox有 几年前一直在使用普通的nosetests。 实际上是绊倒了。
调用
这个运行程序依赖于所有相关的odoo插件 当鼻子进口商进来的时候已经进口了。这个 如果使用through the buildout recipe,则条件始终为true
因此,使用runner的标准方法是在 构建配置:
eggs = anybox.nose.odoo openerp_scripts = odoo_nosetests=odoo_nosetests command-line-options=-d
然后运行,例如:
bin/odoo_nosetests -d TESTING_DB -- some/module/tests
学分
版权所有(c)2015 Anybox SAS<;http://anybox.fr>; 根据GPLv3+许可证发布
Author: | Jean-Sébastien SUZANNE <jssuzanne@anybox.fr> |
---|