Use cobertura remota do PHPUnit no PhpStorm

3

Estou trabalhando na seguinte configuração:

Existe uma VM de desenvolvimento em execução, onde posso acessar a base de código e usá-la como local do projeto no PhpStorm. Tudo (nginx, banco de dados, phpunit, ...) está sendo executado nessa VM. Eu tenho uma unidade de rede conectada a essa VM, mas estou limitada a acessar o diretório de check-out.

Eu configurei o PHPUnit para criar um coverage.xml que eu possa acessar do meu host.

Agora, quero usar esses dados para mostrar a cobertura de código no PHPStorm, mas parece que não há como usar um arquivo de cobertura gerado externamente para isso. Estou executando os testes de unidade remotamente na VM, não usando os recursos do IDE (porque não consigo encontrar uma maneira de executar os testes remotamente).

Existe algum ajuste ou opção que eu não reconheça?

    
por nico gawenda 13.03.2013 / 11:08

2 respostas

4

Sim, você pode usar qualquer coverage.xml dentro do IDE, desde que ele tenha nomes de arquivo corretos (mesmo que tenha sido gerado em outro local). Mas tem que ser feito manualmente e não é muito conveniente usar com freqüência.

A ideia é:

  1. Execute seus testes do PHPUnit na máquina remota e gere coverage.xml .
  2. Processe-o usando qualquer ferramenta adequada para substituir os caminhos remotos por caminho local (por exemplo, alguns destinos personalizados de Phing; encontre-os com facilidade + substitua em seu editor de texto ou qualquer outro). Isso, é claro, se os caminhos remotos forem diferentes dos locais. Caso contrário, basta ignorá-lo.
  3. Diga ao IDE para usar esse arquivo para exibir detalhes de cobertura por meio de Ferramentas | Mostrar dados de cobertura de código - anexe o arquivo necessário lá.
    Por favor note: mais provável ( não usei isso sozinho por muito tempo, então possivelmente ele foi alterado desde então ) você terá que remover e então adicionar novamente esse arquivo toda vez que você obtiver o novo coverage.xml (esse é o maior aborrecimento) - o IDE armazena em cache o conteúdo desse arquivo. Verifique este bilhete para alguns detalhes .
por 13.03.2013 / 13:12
1

Atualização: pelo menos a partir do PHPStorm 2016.1 ou possivelmente antes (por exemplo, Versão 9 ou 10) você pode obter automaticamente a cobertura de código PHPUnit usando PHPUnit sobre SSH Server. Você tem que primeiro adicionar um interpretador PHP remoto usando as etapas no guia oficial. Então, simplesmente escolha isto como seu interpretador PHP de projeto padrão. Ao executar um teste, você pode clicar em "Executar 'MyTest' com cobertura" e copia e carrega automaticamente o arquivo de cobertura por SSH.

Fonte: link

    
por 11.05.2016 / 15:36