Uma ferramenta para permitir que regras de cobertura de código sejam definidas por arquivo. Defina um limite mínimo de cobertura para cada arquivo e configure uma cobertura mínima personalizada para arquivos existentes se a cobertura de teste atual ainda não estiver de acordo com os padrões. A falha de inspeção será exibida no formato checkstyle, permitindo que seja importada em ferramentas ci/cd.
O cálculo da cobertura padrão é calculado sobre toda a base de código. Se, por exemplo, o limite for de 80% e um arquivo cair abaixo de 80%, você nunca perceberá isso porque a cobertura geral passou de 87,6% para 87,4%. Este pacote garante que isso não aconteça mais e a cobertura é calculada por arquivo.
Entrada: cobertura de trevo.xml
Saída: checkstyle ou gitlab
Inclua a biblioteca como dependência em seu próprio projeto via:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
Arquivo: phpfci.xml
<?xml versão="1.0" codificação="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"allow-uncovered-methods="false"> <custom-coverage><!-- regra de cobertura baseada em diretório --><directory path="src/Lib/" min="90"/><!-- os subdiretórios substituirão uma regra de diretório pai --><caminho do diretório ="src/Lib/Config/" min="100"/><!-- a regra de arquivo sempre substituirá uma regra de diretório --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- quando 'allow-uncovered-methods' estiver definido como falso, substitua este comportamento para arquivos específicos: --><ignore-uncovered-methods> <file path="src/Command/ExampleCommand.php"/> </ignore-uncovered-methods> </phpfci>
Opção | Obrigatório | Padrão | Descrição |
---|---|---|---|
cobertura mínima | sim | - | A cobertura global mínima |
permitir métodos descobertos | não | falso | Todos os métodos devem ter pelo menos alguma cobertura |
ou gere um arquivo de configuração com base nos resultados de cobertura existentes
php fornecedor/bin/phpfci linha de base --baseDir /home/ci/workspace cobertura.xml ./phpfci.xml
O diretório base será subtraído dos caminhos de arquivo em cobertura.xml
Formato de estilo de verificação:
fornecedor php/bin/phpfci inspecionar cobertura.xml --reportCheckstyle=reports/checkstyle.xml
Formato Gitlab:
fornecedor php/bin/phpfci inspecionar cobertura.xml --reportGitlab=reports/gitlab.errors.json
Formato Gitlab para arquivo e saída de texto para stdout:
fornecedor de php/bin/phpfci inspecionar cobertura.xml --reportGitlab=reports/gitlab.errors.json --reportText
Formato de texto para stdout:
fornecedor php/bin/phpfci inspecionar cobertura.xml fornecedor php/bin/phpfci inspecionar cobertura1.xml cobertura2.xml
fornecedor php/bin/phpfci inspecionar cobertura.xml --reportText
Opção | Valores | Descrição |
---|---|---|
argument 1 | inspect , baseline | o comando a ser executado. |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | o(s) arquivo(s) de entrada de cobertura do phpunit clover. |
--reportGitlab=[<file>] | caminho do arquivo ou se estiver ausente stdout | o arquivo (ou stdout) para gravar o formato gitlab. |
--reportCheckstyle=[<file>] | caminho do arquivo ou se estiver ausente stdout | o arquivo (ou stdout) no qual gravar o formato checkstyle. |
--reportText=[<file>] | caminho do arquivo ou se estiver ausente stdout | o arquivo (ou stdout) no qual gravar o formato checkstyle. |
--config=<path-to-file> | phpfci.xml | o caminho para o arquivo de configuração. |
--baseDir=<path> | o padrão é o diretório do arquivo de saída | O diretório raiz do projeto será usado para tornar os caminhos relativos. |
--exit-code-on-failure | - | Defina o código de saída como 1 quando houver falhas. |
Nota: se nenhum --reportGitlab
, --reportCheckstyle
ou --reportText
estiver definido, o padrão será --reportText=php://stdout
O terceiro argumento obrigatório e --report
foi removido e deve ser substituído por: --reportGitlab=<file>
, --reportCheckstyle=<file>
ou --reportText=<file>
Na 123inkt (parte da Digital Revolution BV), todos os dias mais de 50 profissionais de desenvolvimento trabalham na melhoria do nosso ERP interno e das nossas diversas lojas. Você quer se juntar a nós? Estamos procurando desenvolvedores.