2016-10-01 1 views
2

をテストし、私はすべてを設定しているが、ユニットテストでは、私は致命的なエラーを取得:のPHPUnit:キャッチ可能な致命的なエラー私はZendのフレームワークに取り組んでいます

はC:\ XAMPP \ htdocsに\ Zendの\モジュール\アルバム\ test> phpunit PHP Catchable fatal error:Zend \ ServiceManager \ ServiceManager :: __ construct()に渡された1つの要素は、配列型のオブジェクトで、C:\ xampp \ htdocs \ zend \ module \ Album \ test \ライン53上のbootstrap.phpのとCで定義されている:\ xamppの\ htdocsに\ Zendの\ vendorframework \ Zendの-servicemanager \ SRC \ ServiceManager.phpライン144

bootstrap.phpのライン52-58上:

$config = ArrayUtils::merge($baseConfig, $testConfig); 
    $serviceManager = new ServiceManager(new ServiceManagerConfig()); 
    $serviceManager->setService('ApplicationConfig', $config); 
    $serviceManager->get('ModuleManager')->loadModules(); 

    static::$serviceManager = $serviceManager; 
    static::$config = $config; 

ServiceManager.phpライン144から148:

public function __construct(array $config = []) 
    { 
     $this->creationContext = $this; 
     $this->configure($config = []); 
    } 

いくつかのアドバイスをしてください?

答えて

1
$serviceManager = new ServiceManager(new ServiceManagerConfig()); 

Arugment 1 passed to Zend\ServiceManager\ServiceManager::__construct() must be of the type array, object given

エラーがServiceManagerが引数として配列を必要とし、あなたを語っています。渡す引数は、オブジェクトであるnew ServiceManagerConfig()です。

バージョンが一致しません。

zendframework/zend-servicemanager~2.0ServiceManagerコンストラクタにはオブジェクトが必要です。

zendframework/zend-servicemanager~3.0ServiceManagerコンストラクタには配列が必要です。

zf skeleton applicationを使用している場合は、正しいバージョンを使用していることを確認してください。

+0

ご返信ありがとうございます...このミスマッチを修正するには、何を変更する必要がありますか? –

+0

コンポーザーを使用している場合は、必要なバージョンが必要であることを確認してください。おそらくバージョン〜2.0が必要になるようですが、実際はあなたのプロジェクトに依存しています。 –

+0

私はこれらの手順に従いました。どこが間違っているのか分かりません。 https://framework.zend.com/manual/2.0/en/user-guide/unit-testing.html –

関連する問題