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'))