Quindi, sto scrivendo un pacchetto Laravel di base e mi sembra di essere incappato in un altro problema, questa volta con i test.Testare un pacchetto Laravel
Il pacchetto in sviluppo è attualmente in una cartella packages
nella radice del progetto. Ho modificato il file composer.json
del pacchetto per includere le dipendenze di cui ho bisogno
"require-dev": {
"phpunit/phpunit": "~4.0",
"laravel/laravel": "dev-develop"
}
Tuttavia, ogni volta che provo in esecuzione phpunit tests
nella cartella del pacchetto (che contiene una cartella denominata tests
insieme a un test di esempio), ho la seguente errore:
PHP Fatal error: Class 'Illuminate \ Fondazione \ Testing \ TestCase' non trovato in /workspace/laravel/packages/sample/http-request/tests/HttpRequestTest.php on line 8
Il il file di test è solo lo stub generato automaticamente:
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class HttpRequestTest extends Illuminate\Foundation\Testing\TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testExample()
{
$this->assertTrue(true);
}
}
Qualche idea sul perché questo non funziona? I test delle app vengono eseguiti senza intoppi, ma l'app stessa non ha dipendenze diverse da quelle contenute nella confezione.
SOLUZIONE
riuscito a farlo funzionare indipendentemente estendendo il PHPUnit_Framework_TestCase:
class HttpRequestTest extends PHPUnit_Framework_TestCase
Tuttavia, eseguendolo piace:
vendor/bin/phpunit packages/yourname/package-name/
funziona bene, per cui l'ho preso come risposta
Grazie per aver voluto aggiungere una soluzione qui. In futuro, aggiungilo come risposta sotto la domanda: ci piace una netta separazione tra domande e risposte qui. Saluti! – halfer