Phpunit: Nenhum teste encontrado na classe TestBase quando ChildTest não está escrito corretamente

Criado em 25 ago. 2017  ·  4Comentários  ·  Fonte: sebastianbergmann/phpunit

| P | UMA
| --------------------| ---------------
| Versão do PHPUnit | 5.7.21
| Versão do PHP | 5.6.30
| Método de instalação | Compositor

Oi,

Eu encontrei um comportamento estranho no PHPUnit quando não escrevo o nome da minha classe corretamente. Acho que está relacionado ao #731

Situação:

  • Eu tenho 2 aulas.

    • Um arquivo TestBase.php que contém uma classe TestBase que não termina com _Test_ então não deve ser chamada

    • Um arquivo ChildTest.php que contém uma classe MyTest (nome errado então). Quando eu faço phpunit tests/ recebo : No tests found in class "Edyan\MyPackage\Tests\TestBase" e meus testes contidos na classe são bem executados.

  • Se eu definir TestBase como abstract : sem problemas

  • Se eu renomear MyTest para ChildTest : sem problemas

Qualquer ideia ?
Obrigado

Comentários muito úteis

Classes base como sua classe TestBase que não contém nenhum teste próprio devem ser declaradas abstract . Então o PHPUnit não tenta executar seus testes inexistentes.

Todos 4 comentários

Como você está usando o compositor, ele usa um autoloader PSR-0/4. De acordo com o padrão PSR, uma incompatibilidade entre a classe e o nome do arquivo é um erro.

Obrigado pela sua resposta,

Isso significa que o PHPUnit não deve carregar uma classe que tenha um nome diferente do arquivo? Com composer se você tentar carregar a classe ABC localizada em CDE.php você receberá um erro.

Obrigado

Classes base como sua classe TestBase que não contém nenhum teste próprio devem ser declaradas abstract . Então o PHPUnit não tenta executar seus testes inexistentes.

Está claro, obrigado pela melhor prática

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

dciancu picture dciancu  ·  3Comentários

ezzatron picture ezzatron  ·  3Comentários

kunjalpopat picture kunjalpopat  ·  4Comentários

sebastianbergmann picture sebastianbergmann  ·  4Comentários

keradus picture keradus  ·  4Comentários