unit-testing - ODOO [V8] 单元测试

标签 unit-testing odoo odoo-8

我实际上正在尝试运行我通过 Odoo 文档创建的单元测试。

我已经像这样构建了我的模块:

module_test
- __init__.py
  __openerp.py__
... 
- tests
   __init__.py
   test_1.py

在“module_test/tests/init.py”内,我确实有“import test_1” 在“module_test/tests/test_1.py”内部,我确实有:“导入测试+我编写的测试场景。

然后我启动命令行来运行服务器,并添加: '-u module_test --log-level=test --test-enable' 更新模块并激活测试运行

shell 返回:“所有后测试均在 0.00 秒内进行,0 次查询”。 所以事实上,没有运行任何测试。

然后我添加了语法错误,因此服务器无法编译该文件,但 shell 返回了相同的句子。看起来该文件被忽略了,服务器甚至没有尝试编译我的文件...我不明白为什么?

我检查了一些 Odoo 源模块,例如“销售”模块。 我尝试运行销售测试,shell 返回与以前相同的值。 我在销售测试中添加了语法错误,shell 一次又一次返回相同的值。

有人知道这种意想不到的行为吗?

最佳答案

您应该尝试使用 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

如果你使用

--load=module_test

我不得不承认odoo测试文档真的很糟糕。我花了一周的时间才弄清楚如何在 odoo 中进行单元测试。

关于unit-testing - ODOO [V8] 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38093747/

相关文章:

python - 预期单例 : hr. employee(1, 2)

unit-testing - 如何优雅地测试 Go 中包含多个客户端的方法?

azure - 如何在 CI 构建 Azure DevOps 中构建单元测试项目以及 'Visual Studio Build' 任务

使用 XML ID 的 Odoo 窗口操作按钮

python - Odoo中这行代码有什么语法错误

python - python 中的字典列表作为 HTML 表格式

python - 根据条件获取其他模型字段的总和

odoo-8 - odoo v8 用户无法创建公司?

java - 如何在 intellij 中为 play 框架应用程序运行单元测试

javascript - dirty-chai.js 到底是做什么的?