Also schreibe ich ein grundlegendes Laravel-Paket und ich bin anscheinend auf ein weiteres Problem gestoßen, dieses Mal mit Tests.Testen eines Laravel-Pakets
Das Paket in Entwicklung befindet sich derzeit in einem Ordner packages
im Stammverzeichnis des Projekts. Ich habe die composer.json
Datei des Pakets modifiziert, um die Abhängigkeiten I
"require-dev": {
"phpunit/phpunit": "~4.0",
"laravel/laravel": "dev-develop"
}
Allerdings müssen schließen, wenn ich phpunit tests
im Paketordner versuchen laufen (die einen Ordner tests
zusammen mit einer Probe-Test genannt enthält), erhalte ich die folgende Fehlermeldung:
PHP Fatal error: Class 'Illuminate \ Foundation \ Testing \ Testcase' nicht in /workspace/laravel/packages/sample/http-request/tests/HttpRequestTest.php auf Linie gefunden 8
Die Testdatei ist nur der automatisch generierte Stub:
<?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);
}
}
Irgendeine Idee, warum das nicht funktioniert? Die App-Tests laufen ohne Probleme, aber die App selbst hat keine anderen Abhängigkeiten als das, was in der Box ist.
SOLUTION
Verwaltet es durch die Verlängerung der PHPUnit_Framework_TestCase unabhängig funktioniert:
class HttpRequestTest extends PHPUnit_Framework_TestCase
jedoch mag es ausgeführt wird:
vendor/bin/phpunit packages/yourname/package-name/
funktioniert auch, so nahm ich es als Antwort. Diese
Danke, dass Sie hier eine Lösung hinzufügen möchten. In Zukunft fügen Sie bitte als Antwort unterhalb der Frage hinzu - wir mögen hier eine saubere Trennung zwischen Q & A. Prost! – halfer