😺

LaravelでPestを使用したUnitテストで苦戦した話

2022/03/13に公開

公式をいくら見ても、解決できませんでした。

下記を参考に、行ってみたところ、原因は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::classusesで、Unitが足りていなかった。
    逆にRefreshDatabseUnitでしか呼び出されていないので、Featureにも追加する必要があるかもしれない。
    因みに、Pest.phpは自動で読み込まれるそう。どこで読み込んでいるかは不明。

Discussion