2

PHPUnit をフレームワークに統合したいと考えています。つまり、テストを実行する前に、オートロードの設定など、最初に初期化を行う必要があるということです。

cli テスト ランナーを使用したいのですが、正しく理解できれば、PHPUnit_Framework_TestSuite のインスタンスを返す静的関数 suite() を持つクラスを作成し、このスイートにテストを追加する必要があります。http://www.phpunit.de/manual/current/en/textui.h​​tml .

これまでのところ、私は思いついた:

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 は、PHPUnit_Framework_TestCase を拡張した非常に基本的なテスト クラスです。「phpunit MyTestFW」を実行すると、常に次のようになります。

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.

誰かが私を少し助けてくれませんか?

4

1 に答える 1

2

PHPUnit_Framework_TestCase::$nameTestCase コンストラクターで設定されるため、これを試すことができます。

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

編集1:

あなたのコードがわからないので、これが役立つかどうかわかりません。
私が通常目にするのはこれです(追加ではなく、上記の置き換えとして):

$suite->addTestSuite('SimpleTest');

編集2:

phpunit ドキュメント: 第 7 章 - テストの整理

于 2009-05-10T10:06:35.747 に答える