Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro na criação do Mock

Professor fiz o processo descrito na aula, no entanto vem me ocorrendo um erro que não sei se é em relação ao phpunit ou ao php..., enfim, além de fazer o processo descrito na aula, eu fiz o download do projeto da aula 2 e tentei rodar o teste nele, mas me ocorre o mesmo erro.

Olhei rapidamente na documentação ("https://phpunit.readthedocs.io/pt_BR/latest/test-doubles.html") se havia mudado algo, mas me parece que não.

Não sei se eu estou vacilando em algo, mas achei melhor criar este tópico aqui no forum.

Segue o erro:

PHPUnit 8.1.5 by Sebastian Bergmann and contributors.

..............E                                                   15 / 15 (100%)

Time: 572 ms, Memory: 4.00 MB

There was 1 error:

1) Alura\Leilao\Tests\Service\EncerradorTest::testLeiloesComMaisDeUmaSemanaDevemSerEncerrados
Function ReflectionType::__toString() is deprecated

C:\xampp\htdocs\alura-mocks\tests\Service\EncerradorTest.php:22

ERRORS!
Tests: 15, Assertions: 25, Errors: 1.

fabio@DESKTOP-1N34BF2 MINGW64 /c/xampp/htdocs/alura-mocks
$ vendor/bin/phpunit
PHPUnit 8.1.5 by Sebastian Bergmann and contributors.

..............E                                                   15 / 15 (100%)

Time: 223 ms, Memory: 4.00 MB

There was 1 error:

1) Alura\Leilao\Tests\Service\EncerradorTest::testLeiloesComMaisDeUmaSemanaDevemSerEncerrados
Function ReflectionType::__toString() is deprecated

C:\xampp\htdocs\alura-mocks\tests\Service\EncerradorTest.php:22

ERRORS!
Tests: 15, Assertions: 25, Errors: 1.
4 respostas

O erro é em relação a criação do mock:

$leilaoDao = $this->createMock(LeilaoDao::class);

pelo menos é o que parece pra mim

solução

Fala, Fábio.

Você provavelmente tá utilizando o PHP 7.4 com a versão antiga do PHPUnit (8). Só atualizar o PHPUnit pra versão 9 que tudo deve funcionar.

;-)

Realmente funcionou!

Peço desculpas ae pelo trabalho desnecessário, é que já tinha tentado todas opções inclusive atualizar para o phpunit9, no entanto achei que tinha atualizado mas não tinha, continuava o erro por estar na versão 8. Após ver a resposta aqui no forum, refiz o processo e verifiquei que tava dando um problema e não atualizando, dei um jeito de corrigir lá no composer e ta tudo funcionando certinho.

Obrigado.

Que nada. Não precisa se desculpar.

Que bom que conseguiu resolver. Abraços e bons estudos.