2017-02-17 4 views
1

Ich weiß, diese Frage hundertmal gefragt wurde, aber ich bin neu in PHPUnit, und ich weiß nicht, wie die bisherigen Antworten zu verwenden, meinen FallPHP Einheit - Klasse ‚PHPUnit_Framework_TestCase‘ nicht gefunden

Dies ist zu helfen meine Ordnerstruktur

/src/MyDate.php 
    /src/Autoload.php 

    /tests/MyDateTest.php 

    /vendor/phpunit/phpunit 

Autoload-Dateien hat dies darin

<?php 

    spl_autoload_register(
    function($class) { 
     static $classes = null; 
     if ($classes === null) { 
     $classes = array(
      'mydate' => '/MyDate.php' 
     ); 
     } 
     $cn = strtolower($class); 
     if (isset($classes[$cn])) { 
     require __DIR__ . $classes[$cn]; 
     } 
    } 
); 

Und MyDateTest.php hat dieses

<?php 

class MyDateTest extends PHPUnit_Framework_TestCase 
{ 
| 
| 
test be here 

Als ich

phpunit --bootstrap= src/autoload.php tests/MyDateTest.php 

laufen bekomme ich diesen Fehler

Fatal error: Class 'PHPUnit_Framework_TestCase' not found in C:\wamp64\www\datechallange\tests\MyDateTest.php on line 3 

ich jede Lösung in ähnlichen Antworten versucht. Versucht, die Datei mit der Klasse zu benötigen, aber dann fehlen andere Klassen. Ich habe versucht, die Autoload-Datei zu modifizieren, um die phpunit-Bibliothek einzuschließen, aber entweder mache ich etwas falsch oder das ist nicht der richtige Weg. Ich habe versucht, die XML-Datei zu ändern, so dass ich nicht --bootstrap verwenden muss, aber ich habe den gleichen Fehler.

Ich denke, der Schlüssel ist, diese autoload.php-Datei zu ändern, aber ich bin mir nicht sicher, wie.

Dank

Antwort

3

Sie scheinen eines oder beide der beiden Probleme zu haben.

  • Nicht Composer verwenden, bieten diese auch einen Verkäufer/autoload.php Datei, in beliebigen Dateien automatisch ziehen wird, die über die composer.json-Datei enthalten sind.
  • Die neueste Version von PHPunit (v> 6.0) verwendet nicht mehr die langen Klassennamen. die noch immer unterstützte Version 5 tut es jedoch.

Der empfohlene Mechanismus PHPUnit 5.7 zu installieren ist:

composer require --dev phpunit/phpunit:^5.7 

Alternativ kann sie als ein einziges phpunit.phar heruntergeladen werden, die viel wie jeder anderen PHP-Skript ausgeführt werden können.

Verwandte Themen