😺
LaravelでPestを使用したUnitテストで苦戦した話
公式をいくら見ても、解決できませんでした。
下記を参考に、行ってみたところ、原因はPest.php
の記載不足。
PestFrameworkを使用してLaravelAPIをユニットテストする方法
記載不足・・・というよりは、--init
で作成される内容が足りないような・・・。
まだまだ、開発段階なんですかね?
答えを簡単にまとめておきます。※2022/3/13現在
Pest.php
- 変更前
uses(Tests\TestCase::class)->in('Feature');
uses(\Illuminate\Foundation\Testing\RefreshDatabase::class)->in('Unit');
- 変更後
uses(Tests\TestCase::class)->in('Unit');
uses(\Illuminate\Foundation\Testing\RefreshDatabase::class)->in('Unit');
uses(Tests\TestCase::class)->in('Feature');
- 解説
TestCase::class
のuses
で、Unit
が足りていなかった。
逆にRefreshDatabse
はUnit
でしか呼び出されていないので、Feature
にも追加する必要があるかもしれない。
因みに、Pest.php
は自動で読み込まれるそう。どこで読み込んでいるかは不明。
Discussion