Una herramienta que permite definir reglas de cobertura de código por archivo. Establezca un umbral de cobertura mínimo para cada archivo y configure una cobertura mínima personalizada para los archivos existentes si la cobertura de prueba actual aún no cumple con los estándares. La falla de inspección se generará en formato de estilo de verificación, lo que permitirá importarla en las herramientas ci/cd.
El cálculo de cobertura estándar se calcula sobre todo el código base. Si, por ejemplo, el umbral es del 80% y un archivo cae por debajo del 80%, nunca lo notarás porque la cobertura general pasó del 87,6% al 87,4%. Este paquete garantiza que eso no vuelva a suceder y la cobertura se calcula por archivo.
Entrada: cobertura de trébol.xml
Salida: checkstyle o gitlab
Incluya la biblioteca como dependencia en su propio proyecto mediante:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
Archivo: phpfci.xml
<?xml versión="1.0" codificación="UTF-8"?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= "100"permitir-métodos-descubiertos="false"> <cobertura-personalizada><!-- regla de cobertura basada en directorio --><ruta del directorio="src/Lib/" min="90"/>><!-- los subdirectorios reemplazarán a una regla del directorio principal --><ruta del directorio ="src/Lib/Config/" min="100"/>><!-- la regla de archivo siempre reemplazará a una regla de directorio --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- cuando 'permitir-métodos-descubiertos' se establece en falso, anule este comportamiento para archivos específicos: --><ignorar-métodos-descubiertos> <ruta del archivo="src/Command/ExampleCommand.php"/> </ignorar-métodos-descubiertos> </phpfci>
Opción | Requerido | Por defecto | Descripción |
---|---|---|---|
cobertura mínima | Sí | - | La cobertura global mínima |
permitir-métodos-descubiertos | No | FALSO | Todos los métodos deben tener al menos algo de cobertura. |
o generar un archivo de configuración basado en los resultados de cobertura existentes
php proveedor/bin/phpfci línea base --baseDir /home/ci/workspace cobertura.xml ./phpfci.xml
El directorio base se restará de las rutas de archivos en cobertura.xml
Formato de estilo de verificación:
php proveedor/bin/phpfci inspeccionar cobertura.xml --reportCheckstyle=reports/checkstyle.xml
Formato Gitlab:
php proveedor/bin/phpfci inspeccionar cobertura.xml --reportGitlab=reports/gitlab.errors.json
Formato Gitlab para archivo y salida de texto a salida estándar:
php proveedor/bin/phpfci inspeccionar cobertura.xml --reportGitlab=reports/gitlab.errors.json --reportText
Formato de texto para salida estándar:
proveedor php/bin/phpfci inspeccionar cobertura.xml php proveedor/bin/phpfci inspeccionar cobertura1.xml cobertura2.xml
php proveedor/bin/phpfci inspeccionar cobertura.xml --reportText
Opción | Valores | Descripción |
---|---|---|
argument 1 | inspect , baseline | el comando a ejecutar. |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | los archivos de entrada de cobertura de phpunit clover. |
--reportGitlab=[<file>] | ruta de archivo o, si está ausente, salida estándar | el archivo (o stdout) para escribir el formato gitlab. |
--reportCheckstyle=[<file>] | ruta de archivo o, si está ausente, salida estándar | el archivo (o stdout) para escribir el formato de estilo de verificación. |
--reportText=[<file>] | ruta de archivo o, si está ausente, salida estándar | el archivo (o stdout) para escribir el formato de estilo de verificación. |
--config=<path-to-file> | phpfci.xml | la ruta al archivo de configuración. |
--baseDir=<path> | El valor predeterminado es el directorio del archivo de salida. | El directorio raíz del proyecto se utilizará para hacer que las rutas sean relativas. |
--exit-code-on-failure | - | Establezca el código de salida en 1 cuando haya fallas. |
Nota: si no se establece --reportGitlab
, --reportCheckstyle
o --reportText
, el valor predeterminado será --reportText=php://stdout
El tercer argumento requerido y --report
se han eliminado y deben reemplazarse por: --reportGitlab=<file>
, --reportCheckstyle=<file>
o --reportText=<file>
En 123inkt (parte de Digital Revolution BV), todos los días más de 50 profesionales del desarrollo trabajan para mejorar nuestro ERP interno y nuestras diversas tiendas. ¿Quieres unirte a nosotros? Buscamos desarrolladores.