由于Odoo的文档,我实际上正在尝试运行我创建的单元测试。
我像这样建造了我的模块
module_test
- __init__.py
__openerp.py__
...
- tests
__init__.py
test_1.py在'module_test/tests/init.py',中,我确实有“导入test_1”,‘module_ test /test/test_1.py’,我确实有:“导入测试+我编写的测试场景。
然后启动命令行以运行服务器,并添加:'-u module_test --log-level=test --测试--启用‘来更新模块并激活测试运行。
shell返回:“所有经过测试的0.00s,0查询”。所以实际上,没有测试。
然后我添加了一个语法错误,因此服务器无法编译该文件,但是shell返回了相同的句子。看起来文件被忽略了,服务器甚至没有试图编译我的文件.我不明白为什么?
我检查了一些Odoo源代码模块,例如“出售”模块。我试过运行销售测试,shell返回的值与以前相同。我在sale测试中添加了语法错误,shell一次又一次返回相同的值。
有人对这种意外的行为有什么想法吗?
发布于 2017-05-30 11:05:21
您应该尝试在测试类中使用post_install装饰器:
示例:
from openerp.tests import common
@common.post_install(True)
class TestPost(common.TransactionCase):
def test_post_method(self):
response = self.env['my_module.my_model'].create_post('hello')
self.assertEqual(response['success'], True)要使测试在不更新模块的情况下执行得更快,您应该能够在不更新模块的情况下运行测试。
-u module_test
如果您使用
--负载=模块测试
我不得不承认odoo测试文档真的很糟糕。我花了一周时间才弄明白如何使单元测试在odoo中工作。
https://stackoverflow.com/questions/38093747
复制相似问题