basercms-unittest
Installation
SKILL.md
baserCMS ユニットテスト実行ガイド(ローカル)
baserCMS のユニットテストは Docker コンテナ上で実行する。実行・絞り込み・失敗調査の定石をまとめる。
実行環境
- 実行は
docker compose(<プロジェクトのdocker-compose.yml配置パス>)。 - PHPコンテナ名:
basercms、baserCMS 配置先:/var/www/html。 - テスト設定:
phpunit.xml.dist。<testsuites>にプラグインごとの testsuite が定義(BaserCore / BcBlog / BcCustomContent / BcMail / BcThemeFile …)。 - DB はローカル環境依存(過去に
bc-dbホスト無しの失敗があったが、現在は<db-host>コンテナを利用。この種の接続失敗は環境要因でスルー可)。 - 実行前に必ずコンテナの稼働を確認する。PHP コンテナ・DB コンテナが停止(
Exited)しているとdocker execが失敗する。docker psで確認し、落ちていればdocker start <container> <db-container>、DB は mysqld が接続を受け付けるまで待つ(詳細は後述「事前確認: コンテナの稼働」)。
コマンド整形(重要:権限の自動承認)
- 複合コマンドの外側にパイプ
|やリダイレクト>を置くと権限の自動承認が効かず確認プロンプトになる。 docker exec basercms sh -c '...'の単一引用符内にリダイレクト・tail等をすべて収めると、単一のdocker execコマンド扱いになり自動承認される。- 安全な読み取り専用コマンド(
grep/find/ls/cat/sed -n/head/tail)は単体で使う。