2017/12/10現在、WordPressのSDKはcomposerで配布されていない。
開発に最低限必用なものはwordpress,wordpress-test-lib,そしてこいつの親クラスであるphpunitの3つだ。
phpunitはcomposer installで持ってくるとして、WordPress関係のものは公式が作成したスクリプト(同梱してある)bin/install-wp-tests.shでpullできる。
bin/install-wp-tests.sh wp_test wp_test 'wp_test' localhost latest
このシェルは、シェル内で定義されたinstall_wp,install_test_suite,install_dbの3つの関数を順に実行するというもので、
mysqldが建っていないとinstall_dbが失敗するが、必用なのは始めの2つで十分なので問題ない。
成功すると、/tmp/wordpress,/tmp/wordpress-tests-libに生成される。なお/tmp下なので多くの場合再起動すると消える。
このパッケージへのパスはtests/bootstrap.phpで定義されているのだが、
それはそれとして、私は開発に必用なものは全てリポジトリ下のディレクトリに格納したいので、
cp -r /tmp/wordpress vendor/.
cp -r /tmp/wordpress-tests-lib vendor/.
としている。
実際にブラウザで目視テストをする場合、docker-compose upでlocalhost:8080でアクセスできる。
このdocker-compose.ymlはwordpress公式のdocker-hubからコピペしてきたものに、
- このプラグインをバインド
- mysqldが全クエリのログを取るような
conf.dのバインド という一手間をくわえたものだ。
私はWordpressのプロセスがどうなっているのか詳しく無い為、ドキュメントとは別にクエリの流れを見たい事があるので、
大体、docker-compose upした後に、別のターミナルから
docker exec -ti [__NAME__]_mysql_1 /bin/bash
tail -f /var/log/mysql/general.log
をしている。
今回、@yousanのadd-page-from-templateというプラグインをTDDでクローンをするという目的で動いている。