WordPressで単体テストをしたい。
最近テストを書くのに開眼して、テストコードをとりあえず書きたくなりました。
WordPressのプラグインを作る上で、テストコードを導入したいと思い探していると、公式で以下の方法で試せばできると書いてありました。
- wp-cliでテストコードの雛形を作成する
wp scaffold plugin-tests "Plugin名"
参考リンク - プラグインのディレクトリで./bin/install-wordpress-tests.shを実行する
- phpunit をプラグインのディレクトリで実行する
いやー、かんたんに導入できるね。
現れるエラー
しかし、実行すると以下のエラーで悩まされる。
[17-Apr-2022 14:26:18 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /tmp/wordpress-tests-lib/includes/bootstrap.php:258) in /tmp/wordpress/wp-load.php on line 64 Warning: Cannot modify header information - headers already sent by (output started at /tmp/wordpress-tests-lib/includes/bootstrap.php:258) in /tmp/wordpress/wp-load.php on line 64
PHPUnitを実行しているはずなのに、ヘッダたないというエラーが出て手づまりになる。
StackExchangeに救いの手が
/tmpに作成されたwordpressのwp-config.phpをテスト用に作ったwp-config.phpに差し替えればうまく動いた。
ln -s /tmp/wordpress-tests-lib/wp-tests-config.php /tmp/wordpress/wp-config.phpPHPUnit via WP-CLI: Warning: Cannot modify header information ... bootstrap.php:68
0 件のコメント:
コメントを投稿