Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TestCase not found

Vinicius, boa tarde !

Ao tentar executar o teste via powershell com o comando php test\Feature\CriadorDeSeries obtive o seguinte erro.

PHP Fatal error: Uncaught Error: Class 'Tests\TestCase' not found in C:\Paulo\Desenvolvimentos\Cursos\alura\controle-series\tests\Feature\CriadorDeSerieTest.php:11

Contudo a classe está importada normalmente.

<?php

namespace Tests\Feature;

use App\Services\CriadorDeSerie;
use Tests\TestCase;
use App\Serie;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;

class CriadorDeSerieTest extends TestCase
{
    public function testCriarSerie()
    {
        $criadorDeSeire = new CriadorDeSerie();
        $nomeSerie = 'Nome de teste';
        $serieCriada = $criadorDeSeire->criarSerie($nomeSerie,1,1);

        $this->assertInstanceOf(Serie::class, $serieCriada);
        $this->assertDatabaseHas('series', ['nome' => $nomeSerie]);
        $this->assertDatabaseHas('temporadas',['serie_id' => $serieCriada->id, 'numero' => 1]);
        $this->assertDatabaseHas('episodios',['numero' => 1]);
    }
}

Ao executar o comando como vendor/bin/php obtenho sucesso

OK (3 tests, 8 assertions)

Pode me aajudar a entender o motivo ?

2 respostas
solução!

Você tentou executar php test\Feature\CriadorDeSeries?

Não faz sentido. Esse arquivo só possui uma definição de uma classe. Ele não executa nada.

E o erro é porque esse arquivo não inclui diretamente o autoloader. Ele não é um ponto de entrada de aplicação, entende?

Realmente é só a definição de uma classe. então sempre que rodar via prompt tenho que rodar com o Unit e que uso o VSCODE e como vc executou diretamente pelo console do PhpStorm achei que o paralelo era executar diretamente a classe. :'(

Entendi sim !

Obrigado !