0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

laravel Unitテスト 作成したテストクラスでsetUp関数をオーバーライドしたらエラーが出た

Posted at

概要

  • laravelのUnitテストにて作成した独自のクラスにsetUp関数を使って継承元の関数をオーバーライドしようとしたときにエラーが出たのでまとめる。

エラーまでの経緯

  • 下記のように独自のテストクラスにsetUp()関数を記載した。(継承元のsetUp()も実行しないと行けない。)

    FooTest.php
    public function setUp()
    {
        parent::setUp();
    
        // その他のテスト実行時の初期処理
    }
    

エラー

当該テストクラス名::setUp() must be compatible with テスト継承元クラス名::setUp(): void in 当該テストクラス名

解決までの経緯

  • エラーを見るとどうやら当該テストクラスで定義しているsetUp()関数は返却値をタイプヒンティングで指定して上げる必要があるようだ。(継承元の関数をオーバーライドしたいなら戻り値の宣言も含めて同じ記載をしないと行けないっぽい)

  • 下記の様に記載したらエラーは解消した。

    FooTest.php
    public function setUp(): void
    {
        parent::setUp();
    
        // その他のテスト実行時の初期処理
    }
    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?