はじめに
こんばんは。
よく現場でも prophecy
つかってたのですが、今の現場では phpunit7とかを触っていまして、最新版のphpunitを触っていませんでした。
今日偶然テスト系の調べ物していて、最新版のphpunitを触って気づきました...
ちなみにバージョンは 以下です。
$ ./vendor/bin/phpunit --version PHPUnit 9.4.3 by Sebastian Bergmann and contributors.
本題
最新版のphpunitで prophecyを使用しているテストコードを回してみると以下の警告が出ました。
1) ExampleTest::register PHPUnit\Framework\TestCase::prophesize() is deprecated and will be removed in PHPUnit 10. Please use the trait provided by phpspec/prophecy-phpunit.
v9では非推奨で、かつ、v10では削除されるとのこと...
v10で削除される旨は、phpunitのChangeLogにも記載がありました。
issueはこちら
v9以降も使い続けるには、別途 phpspec/prophecy-phpunit
を使用するとのこと。
使用方法は以下
composer require --dev phpspec/prophecy-phpunit
でライブラリをインストールprophesize()
を使用しているテストコードで、ProphecyTrait
をuseする
これで、v9以降も通常通り prophecy が使用できます。
終わりに
最新版触ってないとどんどん置いて行かれているなと思い、ゾッとしました...
現場からは以上です。