2009-05-10 5 views
2

Ich möchte PHPUnit in mein Framework integrieren. Damit meine ich, dass ich am Anfang einige Initialisierungen durchführen muss, wie das Einrichten von Autoloads, bevor ich die Tests ausführen würde.So integrieren Sie PHPUnit in ein benutzerdefiniertes Framework

Ich möchte den CLI-Test-Runner verwenden, und wenn ich richtig verstehe, muss ich eine Klasse erstellen, die eine statische Funktion suite() hat, die eine Instanz von PHPUnit_Framework_TestSuite zurückgibt und Tests zu dieser Suite hinzufügt wie auf http://www.phpunit.de/manual/current/en/textui.html erwähnt.

Bisher habe ich kommen mit:

class MyTestFW { 
    public static function suite() { 
     // Do framework initialization here 

     $suite = new PHPUnit_Framework_TestSuite(); 
     $suite->addTest(new SimpleTest()); 

     // Add more tests 

     return $suite; 
    } 
} 

Simple ist ein sehr einfaches Testklasse, die PHPUnit_Framework_TestCase erstreckt. Als ich „phpunit MyTestFW“ laufen, habe ich immer:

PHPUnit 3.3.16 by Sebastian Bergmann. 

E 

Time: 0 seconds 

There was 1 error: 

1) (SimpleTest) 
RuntimeException: PHPUnit_Framework_TestCase::$name must not be NULL. 

jemand könnte mir bitte ein wenig helfen?

Antwort

2

PHPUnit_Framework_TestCase::$name wird im Testcase Konstruktor festgelegt, so können Sie dies versuchen könnte:

$suite->addTest(new SimpleTest('simpletest')); 

edit1:

Ich weiß nicht, Ihren Code, so dass ich weiß nicht, ob das hilft .
Was ich in der Regel sehen, ist dies (als Ersatz der oben genannten, nicht Zusatz):

$suite->addTestSuite('SimpleTest'); 

edit2:

phpunit documentation: Chapter 7 - Organizing Tests

+0

Nein, es sieht es versucht, es als eine nennen Methode: Es gab 1 Fehler: 1) SimpleTest (SimpleTest) Methode SimpleTest existiert nicht –

+0

Adding to addTest Suite() hat auch nicht geholfen :( –

+0

können Sie mehr Code zur Verfügung stellen? die SimpleTest-Klasse selbst wäre schön zu sehen – Karsten

Verwandte Themen