2017-05-30 13 views
0

私はCakePHP 3.xプロジェクトでバゲントVMを使っています。私のプロジェクトにはコントローラ用のテストが1つしかありません。プロジェクトはコンポーザーを使用して設定され、phpunitはベンダーディレクトリにインストールされています。PHP致命的なエラー:インターフェイス 'PHPUnit Framework TestListener'が見つかりません。

./vendor/bin/phpunitテストを実行しても、次のエラーがスローされます。

[[email protected] ~/www]$ ./vendor/bin/phpunit Tests 
PHP Fatal error: Interface 'PHPUnit\Framework\TestListener' not found in /vagrant/vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureInjector.php on line 30 

Fatal error: Interface 'PHPUnit\Framework\TestListener' not found in /vagrant/vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureInjector.php on line 30 

私も、単一のコントローラ用のPHPUnitを実行してみました - 同じ結果に...

[[email protected] ~/www]$ ./vendor/bin/phpunit tests/TestCase/Controller/QuestionsControllerTest.php 
PHP Fatal error: Interface 'PHPUnit\Framework\TestListener' not found in /vagrant/vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureInjector.php on line 30 

Fatal error: Interface 'PHPUnit\Framework\TestListener' not found in /vagrant/vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureInjector.php on line 30 

私はに非常に新しいですPHPUnitと地面を離れることなく壁に乗っている。ここのお手伝いが大変ありがとうございます。

答えて

0

オートローディングが正しく設定されていないようです。

phpunit.xmlには、ブートストラップファイルを指定する必要があります。プロジェクトに基づいたカスタムスクリプトでも、場合によっては作者のautoload.phpを使用するのと同じくらい簡単です:

<phpunit 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/3.7/phpunit.xsd" 
    bootstrap="vendor/autoload.php" 
> 
    ... 
</phpunit> 
関連する問題