Lumen開発でAPIのテスト結果をターミナルで確認することはありますが、実際に結果を提出したりするケースがあり、今回それまでの手順をまとめます。
Laravelでも同様に実行出来たり、PHPのプロジェクトでも可能と思います。
大きな流れとしては「xml」で出力した後に「html」に変換するようになります。
環境
- Mac Intel Ventura 13.1
- Docker 20.10.23
テストケースを「xml」として出力する
「phpunit」実行時にオプションに「–log-junit」をつけます。
$ vendor/bin/phpunit --log-junit {出力するXMLファイル名}
結果は一旦「xml」として出力します。
ただこの場合「xml」では閲覧するのが難しいため、XMLを「html」形式に変換します。
「xml」を「html」に変換する
まずはHTMLのテンプレートファイルをダウンロードします。
以下のURLから「phpunit.xslt」をダウンロード、もしくはコピペでファイルを作成します。
Macの場合に「xsltproc」コマンドがあるはずですので、以下のコマンドを実行します。
$ xsltproc phpunit.xslt {出力したXMLファイル名} > {出力するHTMLファイル名}
気を付けることは、「phpunit」をDocker内でやって、「xsltproc」をMacでやることになるため、ターミナルを2つにするか、Docker内にも「xsltproc」を使用出来るようにした方がいいかもしれません。