Frage

Ich mag PHPUnit meinen Rahmen integrieren. Damit meine ich, dass ich etwas Initialisierung am Anfang zu tun, wie autoloads einrichten, bevor ich die Tests durchführen würde.

Ich möchte die cli Testläufer verwenden, und wenn ich richtig verstehe, muss ich eine Klasse machen, die eine statische Funktion Suite () aufweist, die eine Instanz von PHPUnit_Framework_TestSuite zurückgibt, und fügen Sie Tests zu dieser Suite, wie bereits erwähnt auf http://www.phpunit.de/manual/current/en /textui.html .

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 bekommen:

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.

Könnte mir jemand helfen, ein wenig bitte?

War es hilfreich?

Lösung

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

$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 Dokumentation: Kapitel 7 - Organizing Tests

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top