Este módulo genera informes de unittest utilizando la herramienta unittest-xml-reporting.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 18.0Este módulo cambia cómo Odoo ejecuta sus pruebas automatizadas para que los resultados se guarden como archivos de informe XML de estilo xUnit en lugar de mostrarse solo en pantalla.
Esta es una herramienta técnica para desarrolladores y administradores de sistemas, no un módulo que añade pantallas o menús para los usuarios cotidianos. Cuando Odoo se inicia con las pruebas habilitadas, el módulo reemplaza el ejecutor de pruebas normal por una herramienta externa llamada unittest-xml-reporting.
Qué hace:
- Ejecuta la suite de pruebas a través del ejecutor de pruebas XML.
- Escribe los resultados de las pruebas como archivos XML en una carpeta llamada test_results (u otra carpeta si se configura una).
- Crea esa carpeta automáticamente si aún no existe.
- Mantiene sincronizados los propios contadores de resultados de pruebas de Odoo, sumando fallos, errores, pruebas omitidas y el número de pruebas ejecutadas a partir de los resultados XML.
Dónde aparece en Odoo: en ningún lugar de la interfaz de usuario. No se añaden menús, botones ni informes. El único efecto visible son los archivos XML producidos en el servidor tras una ejecución de pruebas.
Qué áreas toca: solo depende del módulo base y parchea las clases de la suite de pruebas y de los resultados de pruebas (OdooSuite y OdooTestResult). También requiere que el paquete de Python unittest-xml-reporting esté instalado en el servidor.
Como el código solo cambia el ejecutor de pruebas, no afecta a ventas, contabilidad, inventario ni ningún otro proceso de negocio.
Depende de
Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.
Fuentes · Odoo 18.0
Confirmado el 2026-11-03 en la rama 18.0 de OCA/server-tools.
terminal Instalación y uso
Documentación de OCA · Odoo 18.0Instalación
Fuente · Odoo 18.0Instalar la librería de python https://pypi.org/project/unittest-xml-reporting/
El módulo se instala automáticamente en la instancia de Odoo.
Ejecutar las pruebas nativas de Odoo
Ejecutar las pruebas nativas de Odoo. Consulte la documentación de Odoo para más información.
Ejemplo de uso en Gitlab CI
Añada el siguiente job a su archivo .gitlab-ci.yml:
stages:
- test
variables:
POSTGRES_DB: odoo
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_HOST_AUTH_METHOD: trust
test:
stage: test
image:
name: ghcr.io/oca/oca-ci/py3.10-odoo17.0:latest
services:
- name: postgres:15
tags:
- gitlab-org-docker
script:
# install odoo and run tests
- oca_install_addons && oca_init_test_database && oca_run_tests
# generate coverage report
- coverage html -d htmlcov && coverage xml -o coverage.xml
# read line-rate from coverage.xml and print it as percentage
- total=$(grep -oP '<coverage[^>]*line-rate="\K[0-9.]+' coverage.xml | head -n 1 | awk '{print $1 * 100}') && echo "total ${total}%"
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
artifacts:
paths:
- htmlcov/*
when: always
reports:
junit: test_results/*.xml
coverage_report:
coverage_format: cobertura
path: coverage.xmlEjemplo de uso en Github Actions
Añada el siguiente job a su archivo .github/workflows/main.yml:
name: tests
permissions:
contents: read
checks: write
id-token: write
on:
push:
branches: ["main"]
tags: ["*"]
pull_request:
jobs:
test:
runs-on: ubuntu-22.04
container: ${{ matrix.container }}
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- container: ghcr.io/oca/oca-ci/py3.10-odoo17.0:latest
name: test with Odoo
services:
postgres:
image: postgres:12.0
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_DB: odoo
ports:
- 5432:5432
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: Install addons and dependencies
run: oca_install_addons
- name: Check licenses
run: manifestoo -d . check-licenses
- name: Check development status
run: manifestoo -d . check-dev-status --default-dev-status=Beta
- name: Initialize test db
run: oca_init_test_database
- name: Run tests
run: oca_run_tests
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: success() || failure() # always run even if the previous step fails
with:
report_paths: 'test_results/*.xml'Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.