既に PHPUnit が入っている環境で WP-Unit を使うときは要注意?
とあるテストケースがどうしてもエラーになってしまい、ログにも残らないので大変嵌っていた。いろいろ調べた結果、$wpdb->dbh
がどっかのタイミングでリソースではなく整数値 0
になってしまっていたというところまでは分かったが、それが何処かを特定するには至らなかった。
そこで、 WP-Unit には PHPUnit が付属しているものの、システムに PHPUnit がインストールされていればそちらを使うようになっていたことを思い出した。いわゆる「相性」の問題かもしれないと、下記の修正を施した。
<?php // wp-content/plugins/wp-unit/WPUnit.php $currdir = getcwd(); //fixes php unit installation problems -ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . ABSPATH . 'wp-content/plugins/wp-unit'); +ini_set('include_path', ABSPATH . 'wp-content/plugins/wp-unit' . PATH_SEPARATOR .ini_get('include_path')); //require_once('wp-load.php');
つまり、付属のPHPUnitを先に読みに行くようにした。これにより、謎のエラーは出なくなった。後で暇だったら根本的な原因を探る。