Özel bir çerçeve phpunit entegre nasıl

1 Cevap php

I'd like to integrate PHPUnit to my framework. By this, I mean that I have to do some initializing in the beginning, like setting up autoloads, before I'd run the tests.

Ben cli test atlet kullanmak istiyorum ve eğer doğru anlamak, ben PHPUnit_Framework_TestSuite bir örneğini döndürür statik işlev paketi olan bir sınıf, (), yapmak zorunda, ve üzerinde belirtildiği gibi, bu paketi için test eklemek http://www.phpunit.de/manual/current/en/textui.html.

Bugüne kadar ben ile geldi:

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

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

        // Add more tests

        return $suite;
    }
}

SimpleTest is a very basic test class, that extends PHPUnit_Framework_TestCase. When I run "phpunit MyTestFW", I always get:

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.

Birisi bana biraz lütfen yardımcı olabilir mi?

1 Cevap

PHPUnit_Framework_TestCase::$name TestCase kurucu içinde set alır, bu yüzden bu deneyebilirsiniz:

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

edit1:

I don't know your code, so i don't know if this helps.
What I usually see is this (as a replacement of the above, not addition):

$suite->addTestSuite('SimpleTest');

edit2:

phpunit documentation: Chapter 7 - Organizing Tests