1

以下は、ファイルが配置されているパスです。

src\TW\Talk\Entity\Talk.php
src\Tests\Talk\Entity\TalkTest.php
src\phpunit.xml.dist

TalkTest.php には、PHPUnit とエンティティ Talk を含めました。

require_once 'TW/Talk/Entity/Talk.php';
require('PHPUnit/Autoload.php');

Class TalkTest extends PHPUnit_Framework_TestCase
{
    ...
}

phpunit.xml.dist ファイルには、

<phpunit>
  <testsuites>
    <testsuite name="TW">
      <file>Tests/Talk/Entity/TalkTest.php</file>
    </testsuite>
  </testsuites>
</phpunit>

src ディレクトリから phpunit コマンドを実行しています。 Fatel Error: Class 'Tests\TW\Talk\Enity\Talk' not found というエラーが表示されます。

参考までに、同様の構造を持つ php-object-freezer-master を参照しています。

TalkTest が Talk クラスを見つけられない理由は何ですか?

phpunit コマンドは、Tests フォルダーで Talk エンティティを見つけようとしています。

4

2 に答える 2

0

include_path を確認します。

echo get_include_path();

TW/Talk/Entity/Talk.phpyourが相対的なディレクトリが含まれている必要があります。そこにない場合は、php.iniPHPUnit のブートストラップまたはブートストラップに追加する必要があります。

インクルード パスを使用して、PHP がファイルを見つけられるかどうかを簡単にテストできます。

var_dump( stream_resolve_include_path('TW/Talk/Entity/Talk.php') );
于 2013-04-20T20:07:29.920 に答える