はじめに
こんかには〜🦀1 nikkieです。
2月のPHPカンファレンス関西2024登壇2準備の過程を残します。
PHPでテストが書ける環境を整えました。
ふだんはPythonとめっちゃ仲良くしていてPHPとはこれから仲良くなっていきます。
本記事の内容について、小さな点でもよりよくできる点に気づかれた方は、@ftnextまでぜひお知らせください
目次
今回はHomebrewでPHPとComposerをインストール
実は業務で一番最初に触れた言語はPHPです(2016年)。
当時はXAMPPで環境構築しました。
今回はXAMPPとは別のやり方でインストールしたく、Homebrewを選択しました。
PHPUnitのインストールに必要なComposerもHomebrewでインストールできます。
% brew install php % brew install composer
Homebrewに働いてもらって、私は待つだけです(ありがとう!)
Homebrewを使ってPHPをインストールする方法は、公式ドキュメントに記載がありました。
macOS で一番手っ取り早いインストール方法は、 以下のようにして、homebrew を使うやり方です。
インストールしたバージョンは以下です。
% php -v PHP 8.3.1 (cli) (built: Dec 21 2023 17:49:39) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.1, Copyright (c) Zend Technologies with Zend OPcache v8.3.1, Copyright (c), by Zend Technologies % composer -V Composer version 2.6.6 2023-12-08 18:32:26
PHPUnitを流すまで
まず作業ディレクトリに移動します。
composerでPHPUnitをインストールし、自明なテストケースを1つ作って確認します。
ちょうぜつ本の6.3を参考にしています。
% composer require --dev phpunit/phpunit % vendor/bin/phpunit --version PHPUnit 10.5.5 by Sebastian Bergmann and contributors.
自明なテストケースを作成(tests/ExampleTest.php
)
<?php use PHPUnit\Framework\TestCase; class ExampleTest extends TestCase { public function testHello(): void { $this->assertTrue(FALSE); } }
FALSE
をTRUE
と検証しています。
落ちるテストですね3。
テストコード実行
% vendor/bin/phpunit tests PHPUnit 10.5.5 by Sebastian Bergmann and contributors. Runtime: PHP 8.3.1 F 1 / 1 (100%) Time: 00:00.008, Memory: 6.00 MB There was 1 failure: 1) ExampleTest::testHello Failed asserting that false is true. /.../tests/ExampleTest.php:8 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
期待通り落ちました。
PHPUnitは動かせていますね。
assertTrue(TRUE)
に変えると通ります。
% vendor/bin/phpunit tests PHPUnit 10.5.5 by Sebastian Bergmann and contributors. Runtime: PHP 8.3.1 . 1 / 1 (100%) Time: 00:00.004, Memory: 6.00 MB OK (1 test, 1 assertion)
PHPUnitが流れる環境、できあがり!🙌
候補に挙がったが見送ったasdf
以前Elixirのインストールで利用したasdf4。
PHP勉強会でのLTでツラいことを知っていたので、今回は見送りました。
終わりに
PHPカンファレンス関西2024登壇準備の一環として、PHPUnitの環境構築をしました。
動作確認できたので、これにて環境構築完了です!
仲良くなるぞ〜
-
PHPカンファレンス北海道2024で爆誕した挨拶です。アーカイブとてもありがたいです
↩オンライン配信動画については以下のURLからアーカイブを視聴いただけます。
— PHPカンファレンス北海道 (@phpcondo) 2024年1月13日
見逃したトークやもう一度見たいトークがある方はぜひ御覧ください!
※ 調整のためクローズすることもあります。ご了承ください。
前夜祭(1/12)https://t.co/BGqjjVX34A
本編(1/13)https://t.co/uxMUWpFlUR#phpcondo - テストコードを書けるようになっていこうというお話をさせていただきます ↩
- 「期待通り壊れることで、環境構築できていることを確認します。」 ref:みんなのPython勉強会#88のやっとむさんによる「手軽なpytestでテストを活用しよう!」、テストコードに関係する知識が結び付き、刺激的でした #stapy - nikkie-ftnextの日記↩
- ↩