0

私は今朝ずっとこれを理解するために立ち往生しましたが、運がありませんでした。

テスト/ユニットの下でテストを作成します

<?php

  class DbTest extends CTestCase {

    public function testConnection() {
  $this->assertTrue( true );
    }
  }

?>

ターミナルで実行すると

$ cd tests
$ phpunit unit/DbTest.php

このエラーが発生します:

PHPUnit 3.7.8 by Sebastian Bergmann.

Function 'phpunit_autoload' not found (function 'phpunit_autoload' not found or invalid function name)

私のphpunitバージョンは3.7.8です

4

2 に答える 2

2

これは既知のバグです。

オートローダーを変更する必要があります

また

PHPUnitを3.7.1にダウングレードします

于 2012-10-18T18:35:44.490 に答える
2

次のことがうまくいきました。グーグルが見つかりました。 http://www.yiiframework.com/forum/index.php/topic/37294-yii-unit-test-not-working/

framework / test / CTestCase.phpの古いコード、コメントアウトしてください。

   require_once('PHPUnit/Util/Filesystem.php'); // workaround for PHPUnit <= 3.6.11
   require_once('PHPUnit/Autoload.php');
   spl_autoload_unregister('phpunit_autoload');
   Yii::registerAutoloader('phpunit_autoload');

そしてこれに変更します

require_once('PHPUnit/Runner/Version.php');
require_once('PHPUnit/Util/Filesystem.php'); // workaround for PHPUnit <= 3.6.11
require_once('PHPUnit/Autoload.php');
if (in_array('phpunit_autoload', spl_autoload_functions())) { // PHPUnit >= 3.7 'phpunit_alutoload' was obsoleted
spl_autoload_unregister('phpunit_autoload');
Yii::registerAutoloader('phpunit_autoload');

}

于 2012-12-22T10:33:21.447 に答える