Yiiフレームワークのテストでエラーが発生するときの対処法


Yii フレームワークは phpunit を用いたテストができるようになっています。ですが、Windows で試したところエラーや warning が発生したので対処法をメモしておきます。

環境

  • Windows7 Ultimate 64ビット
  • PHP 5.3.8
  • PHPUnit 3.6.10 by Sebastian Bergmann.
  • Selenium Server Standalone 2.21.0

現象1

IEでテストしようとすると、「スクリプト エラー」のダイアログが表示される。 エラーメッセージは、「Couldn't open app window, is the pop-up blocker enabled?」.

対処法

protected\tests\phpunit.xml の次の行を、

<browser name="Internet Explorer" browser="*iexplore" />

以下の様に変更する。

<browser name="Internet Explorer" browser="*iexploreproxy" />

参考: Works for *firefox but not *iexplore

現象2

コマンドラインから phpunit を実行すると、次の様な warning が幾つか発生する。

Warning: include(SiteTest: Firefox.php): failed to open stream: No such file or directory in …\Yii\framework\YiiBase.php on line 418

対処法

この warning が発生した場合でもテストは問題なく実行されるため、この警告は無視して良いと考えられます。 したがって、次の様に警告を抑制します。

TestSuite.php(通常は PEAR_DIRECTORY\PHPUnit\Framework の中にあります)の次の二つの行を、

method_exists($this->name, 'setUpBeforeClass'))
method_exists($this->name, 'tearDownAfterClass'))

それぞれ以下の様に変更する。

@method_exists($this->name, 'setUpBeforeClass'))
@method_exists($this->name, 'tearDownAfterClass'))

参考: Firefox.php faild to include in YiiBase

カテゴリー: 覚書 タグ: パーマリンク

コメントを残す