| 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:
TestBase.php
que contém uma classe TestBase
que não termina com _Test_ então não deve ser chamadaChildTest.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
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
Comentários muito úteis
Classes base como sua classe
TestBase
que não contém nenhum teste próprio devem ser declaradasabstract
. Então o PHPUnit não tenta executar seus testes inexistentes.