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でクローンをするという目的で動いている。