WordPressプラグインのユニットテストをしていてしばしハマってしまうのが、プラグイン同士が依存関係をもってしまっている場合のテストです。
例えば、作っているプラグインでAdvanced Custom Fieldsの提供している関数が必要としましょう。すると通常のwp scafolled plugin
で作られるユニットテストのコードを実行すると関数未定義のエラーとなってしまいます。
それを解決するユニットテストのパターンを作ってGithubに上げました。
tests/dependencies-array.php
<?php
return array(
'advanced-custom-fields' => array(
'include' => 'advanced-custom-fields/acf.php',
'repo' => 'https://downloads.wordpress.org/plugin/advanced-custom-fields.zip',
)
);
こんな感じで依存関係のあるプラグインを配列で指定してあげるだけで、インストールしてユニットテストを実行してくれます。
それでは良いユニットテストライフを!