Open3

PestPHPでTDD開発をやってみた

capybaraさんcapybaraさん

前提

今までほぼコードによる単体テストはやってこなかった
この度機会に恵まれたので、挑戦してみることに

ちょっとコミュニケーションのすれ違いもあってPHPUnitではなく、新しいPestPHPでとりあえずやってみることに
受け入れてくださった先輩、弊社CTOに感謝も込めてアウトプットします!!!

capybaraさんcapybaraさん

1日目(導入)

すでにLaravelで書いたAPIはできており、早速HPのGet startedから導入してみることに
https://pestphp.com/docs/installation

composer remove phpunit/phpunit
composer require pestphp/pest --dev --with-all-dependencies
./vendor/bin/pest --init
./vendor/bin/pest

4ステップでできた、すげー
Laravel Sailもだけど新しいことがたったの4行でスタートできる
というのは本当に便利だと思います。ここも感謝。

ドキュメントの最後には

PHPUnit から移行する場合は、 pest-plugin-drift パッケージを使用すると自動的に PHPUnit テストを Pest に変換することができます。詳細は PHPUnit からの移行ガイド を参照ください。

とのこと

この点も安心できると言える。
せっかく書いた今までのテストコードを捨てて、新たにテストコードを書き直したい
なんて人はいないことは簡単に想像できる

ですが、今回初めて単体テストをPestで導入したので、こちらは試していない。
ありがたみを最大限感じるにはPHPUnitから入るべき。

capybaraさんcapybaraさん

(1日目)エディターセットアップ

次にEditor Setup
https://pestphp.com/docs/editor-setup

ここで気になる記述が、、、(DeepLを利用しております。)

PHPStormを利用していない場合、コミュニティが管理するプラグインを試してみることを検討してください。とはいえ、この代替プラグインは公式のPHPStormプラグインと同じレベルのユーザーエクスペリエンスを提供しない可能性があることは注目に値します。

PhpStormを激推ししてますね。
VS Codeのプラグインでは、Pestの開発体験が損なわれるようです。もったいない!!
実際に使ってみて、Pestを使うならぜひPhpStormを導入したいなと思いましたね!!
ただ高いので、協議の結果断念。自腹が切れるくらい稼いできます!!!
いくら気前のいいCTOでも年額3万円は高いとのこと =)
個人的にはそこそこのPCに買い替えるぐらいなら、PhpStormをお勧めする、と思います!

ということでここからはVS Codeでの利用方法になります!
ユーザーが多いのはVS Codeのはずなので、記事的には問題ナシ!