跳转到主要内容

py.test插件,用于运行Odoo测试

项目描述

pytest 插件,用于运行 Odoo 测试

此库允许运行 Odoo 扩展中内置的测试,这些扩展使用 Python 的 unittest,但具有 pytest CLI 的便利性。还允许在不更新指定模块的情况下运行测试。

Odoo 的 –test-enable 机制和 pytest-odoo 并不完全覆盖相同的范围。Odoo 的测试运行程序在扩展升级期间运行测试,这就是为什么它们需要“安装时”和“安装后”标记的原因。

在扩展升级期间运行测试的速度太慢,无法在 TDD 模式下有效工作,这正是 pytest-odoo 发挥作用的地方。请注意,所有测试都是使用 pytest-odoo 在 安装后 运行的,因为您必须在之前(但仅在需要时而不是每次运行)运行扩展的升级。

最终,使用 –test-enable 运行 Odoo 测试是有益的,因为,在极少数情况下,测试可能在 pytest-odoo 中通过,但在升级期间运行的“安装时”测试中未通过(或反之)。pytest-odoo 可以被认为是一种开发工具,但不能完全取代 CI 中的 –test-enable 工具。

有关编写测试的官方 Odoo 文档,请参阅此处

使用方法

通过以下方式安装:

pip install pytest-odoo

使用方法

pytest -s --odoo-database=test --odoo-log-level=debug_sql [--odoo-http]

自定义选项包括:

  • --odoo-database:要测试的数据库名称。

  • --odoo-log-level:odoo 期望的日志级别。截至编写时间:info、debug_rpc、warn、test、critical、debug_sql、error、debug、debug_rpc_answer。默认值为 critical 以获得干净的输出。

  • --odoo-config:要使用的 odoo.cfg 文件的路径。

  • --odoo-http:允许启动 Odoo http 实例。

或者,您可以使用环境变量,例如 Odoo Docker 图像

  • HOST:数据库服务器的主机名

  • PORT:数据库服务器的端口

  • USER:访问数据库的用户名

  • PASSWORD:访问数据库的密码

这些仅与 --odoo-database 结合使用。

您可以使用 ODOO_RC 环境变量使用 odoo 配置文件,其中至少包含带有要测试的数据库名称的 database 选项。

export ODOO_RC=/path/to/odoo/config.cfg
pytest ...

已知问题

目前与 pytest >= 8.0.0 不兼容

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pytest_odoo-1.0.1.tar.gz (18.3 kB 查看哈希值)

上传时间 源代码

构建分发

pytest_odoo-1.0.1-py3-none-any.whl (18.0 kB 查看哈希值)

上传时间 Python 3

由以下支持