【问题标题】:Unit tests not running (loading) in Odoo 12单元测试未在 Odoo 12 中运行(加载)
【发布时间】:2023-03-13 22:30:01
【问题描述】:

我正在尝试在 Odoo 12 中为我的自定义模块代码编写单元测试,并且我遵循了 Odoo 12 官方文档https://www.odoo.com/documentation/12.0/reference/testing.html 来编写单元测试并运行我的测试。但是,当我根据文档运行测试时,我看不到测试结果。似乎测试没有在服务器更新时运行甚至加载。

我按照 Odoo 12 文档说明运行和更新了服务器,并应用了这个解决方案:Why are my tests not running on Odoo 10?。但我仍然无法看到测试结果。

我的模块中的tests目录如下:

├── tests
    │   ├── __init__.py
    │   └── test_loan_request.py

我的 init.py 文件中有以下代码:

# -*- encoding: utf-8 -*-

from . import  test_loan_request

在 test_loan_request.py 中,我使用这些代码进行了简单的测试:

# -*- encoding: utf-8 -*-

from odoo.tests.common import TransactionCase, tagged


@tagged('loan')
class TestLoanRequest(TransactionCase):

    def test_loan_request_selection(self):
        print(':::::::::::::::::::::::::::::::::::::::::: In test method')
        loan_request = self.env['loan.request'].create({'selection': 'employee', 'amount': 5000 })
        self.assertEqual(loan_request.selection, 'employee')
        print('::::::::::::::::::::::::::::::::::::: After assertEqual')

我使用以下命令在我的模块中更新和运行单元测试:

./odoo-bin --addons-path=addons,../12.e,../netlinks-erp/addons -d netlinks_erp --xmlrpc-port=9000 --test-enable --test-tags hr_payroll_advance_request,loan

这是我通过运行上面的命令得到的结果:

2019-06-23 10:12:22,739 14712 INFO ? odoo: Odoo version 12.0 
2019-06-23 10:12:22,740 14712 INFO ? odoo: addons paths: ['/home/ibrahim/.local/share/Odoo/addons/12.0', '/home/ibrahim/workspace/odoo/12.0/addons', '/home/ibrahim/workspace/odoo/12.e', '/home/ibrahim/workspace/odoo/netlinks-erp/addons', '/home/ibrahim/workspace/odoo/12.0/odoo/addons'] 
2019-06-23 10:12:22,740 14712 INFO ? odoo: database: default@default:default 
2019-06-23 10:12:22,979 14712 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf 
2019-06-23 10:12:23,259 14712 INFO ? odoo.service.server: HTTP service (werkzeug) running on ubuntu:9000 
2019-06-23 10:12:23,284 14712 INFO netlinks_erp odoo.modules.loading: loading 1 modules... 
2019-06-23 10:12:23,322 14712 INFO netlinks_erp odoo.modules.loading: 1 modules loaded in 0.04s, 0 queries 
2019-06-23 10:12:23,494 14712 INFO netlinks_erp odoo.modules.loading: loading 135 modules... 
2019-06-23 10:12:24,186 14712 INFO netlinks_erp odoo.addons.sms.wizard.send_sms: The `phonenumbers` Python module is not available. Phone number validation will be skipped. Try `pip3 install phonenumbers` to install it. 
2019-06-23 10:12:24,501 14712 WARNING netlinks_erp odoo.models: The model generate.session.wizard has no _description 
2019-06-23 10:12:24,502 14712 WARNING netlinks_erp odoo.models: The model event.session has no _description 
2019-06-23 10:12:24,502 14712 WARNING netlinks_erp odoo.models: The model event.attendance has no _description 
2019-06-23 10:12:24,799 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.overtime has no _description 
2019-06-23 10:12:24,799 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.late has no _description 
2019-06-23 10:12:24,800 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.late.line has no _description 
2019-06-23 10:12:24,801 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.absence has no _description 
2019-06-23 10:12:24,801 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.absence.line has no _description 
2019-06-23 10:12:24,802 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.diff has no _description 
2019-06-23 10:12:24,803 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.diff.line has no _description 
2019-06-23 10:12:24,803 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.policies has no _description 
2019-06-23 10:12:24,804 14712 WARNING netlinks_erp odoo.models: The model hr.attendance.policies.line has no _description 
2019-06-23 10:12:24,807 14712 WARNING netlinks_erp odoo.models: The model hr.public.holidays has no _description 
2019-06-23 10:12:24,888 14712 WARNING netlinks_erp odoo.models: The model hr.academic has no _description 
2019-06-23 10:12:24,888 14712 WARNING netlinks_erp odoo.models: The model hr.experience has no _description 
2019-06-23 10:12:24,891 14712 WARNING netlinks_erp odoo.models: The model skill.skill has no _description 
2019-06-23 10:12:24,892 14712 WARNING netlinks_erp odoo.models: The model job.type has no _description 
2019-06-23 10:12:25,123 14712 WARNING netlinks_erp odoo.models: The model wiz.reject.ts has no _description 
2019-06-23 10:12:25,222 14712 WARNING netlinks_erp odoo.models: The model wiz.hr.emp.attendance has no _description 
2019-06-23 10:12:25,244 14712 INFO netlinks_erp odoo.modules.loading: 135 modules loaded in 1.75s, 0 queries 
2019-06-23 10:12:27,736 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,736 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,736 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,737 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,737 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,737 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,737 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,737 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,738 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,738 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,738 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,738 14712 INFO netlinks_erp odoo.fields: Field account.analytic.line.sheet_id depends on non-stored field account.analytic.line.sheet_id_computed 
2019-06-23 10:12:27,773 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,773 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,775 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,775 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,776 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,776 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,776 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,776 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,777 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,777 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,777 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,777 14712 INFO netlinks_erp odoo.fields: Field hr.attendance.sheet_id depends on non-stored field hr.attendance.sheet_id_computed 
2019-06-23 10:12:27,896 14712 INFO netlinks_erp odoo.modules.loading: Modules loaded. 
2019-06-23 10:12:27,915 14712 INFO netlinks_erp odoo.service.server: Starting post tests 
2019-06-23 10:12:28,366 14712 INFO netlinks_erp odoo.service.server: All post-tested in 0.45s, 0 queries 
2019-06-23 10:12:28,397 14712 INFO ? odoo.http: HTTP Configuring static files 
2019-06-23 10:12:28,404 14712 WARNING ? odoo.http: Logged into database 'test_db', but dbfilter rejects it; logging session out. 
2019-06-23 10:12:28,406 14712 INFO netlinks_erp odoo.addons.base.models.ir_http: Generating routing map 
2019-06-23 10:12:28,647 14712 INFO ? odoo.addons.bus.models.bus: Bus.loop listen imbus on db postgres 

如何运行模块中的测试目录中的单元测试并查看测试结果?

【问题讨论】:

  • 检查 odoo conf 中的 db_filter 参数。我认为这限制了加载您的数据库。
  • @Burmesepythis-HilarAK,我从 GitHub 的 Odoo 12 存储库中获得了一个克隆,我没有在 Odoo conf 文件中配置或更改任何内容。此外,我使用--db_filter=netlinks_erp 运行服务器,但仍然没有加载或运行任何内容。如果我应该更改 odoo conf 文件中的任何内容,我应该在那里更改什么?

标签: python unit-testing odoo odoo-12


【解决方案1】:

也许您在命令行中缺少 -u your_module_to_test

【讨论】:

  • 我在多次更新服务器的时候使用了上面的命令,但还是没有任何效果。
  • 你解决了吗?我的评论是基于你没有在命令行中指定的部分 -u 到你的模块,没有它,它将只运行带有数据库的服务器。
  • 其实我自己的测试还是无法运行,我尝试了很多解决方案,但是我的测试没有运行。
  • 在电报中加入开发人员,我们可以在那里亲自提供帮助,如果您找到帮助,稍后会发布解决方案,只需在电报 odoo 开发人员中查找
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
相关资源
最近更新 更多