2017-01-26 1 views
2

ich eine solche Struktur meines Projekts haben:PHPUnit sieht nicht, Dateien aus anderen Ordner

- Root 
-- /src 
-- /tests 

In Tests Ordner schreibe ich meine Tests. Wenn alle darin enthaltenen Dateien sind im Stammordner fein alles funktioniert, aber wenn ich in src meine Dateien setzen will erhalte ich die Fehlermeldung:

Warning: require(../src/Task1.php): failed to open stream: No such file or directory in E:\xampp\htdocs\CodewarsPHP\tests\Task1Test.php on line 2

Fatal error: require(): Failed opening required '../src/Task1.php' (include_path='E:\xampp\php\PEAR') in E:\xampp\htdocs\CodewarsPHP\tests\Task1Test.php on 2 line

Meine Testdatei:

<?php 
require '../src/Task1.php'; 
class Task1Test extends PHPUnit_Framework_TestCase 
{ 
    public function testTask1(){ 
     $this->assertEquals([1,1,1,3,5,9],fib([1,1,1],6)); 
    } 
} 
+0

Danke, es löste mein Problem –

Antwort

0

Sie sind nicht Sagen Sie uns, wie Sie phpunit aufrufen/ausführen, aber ich nehme an, dass sich die phar-Datei nicht im selben Ordner befindet wie Ihr Testscript.

Dann, wenn Sie

require '../src/Task1.php'; 

auf Ausführungszeit tun wird PHP die Position lösen für Task1.php relativ Skript phpunit, statt relativ zu Task1Test.php.

Sie können __DIR__ verwenden, die zur Laufzeit als das Verzeichnis aufgelöst wird, wo die Datei die Konstante verwendet wird, ist, und dann einen absoluten Pfad zu require Ihre Datei:

require __DIR__ . '../src/Task1.php'; 

Ich vermute, dies sollte repariere deine Probleme. :)

Verwandte Themen