LoginSignup
0
0

More than 3 years have passed since last update.

Laravel Unitテストでエラーが発生した

Posted at

目的

  • Unitテストを実行したらエラーが発生したので解決方法とこのエラーの原因をまとめておく

エラーまでの経緯

  1. アプリ名ディレクトリで下記コマンドを実行してテストクラスのファイルを作成した。

    $ php artisan make:test UserServiceTest --unit
    
  2. テストコードを記載後、アプリ名ディレクトリで下記コマンドを実行してテストを実行した。

    $ vendor/bin/phpunit tests/Unit/UserServiceTest.php
    

エラー

  • Unitテストを実行したら下記のようなエラーが出た

    Error: Call to a member function connection() on null
    

解決までの経緯

  1. 問題のテストコードを下記に記載する。

    <?php
    
    namespace Tests\Unit\Service;
    
    use PHPUnit\Framework\TestCase;
    
    class UserServiceTest extends TestCase
    {
        /**
         * A basic unit test example.
         *
         * @return void
         */
        public function testExample()
        {
            $this->assertTrue(true);
        }
    
        /**
         * getUserInfoByUserIdメソッドのテスト
         *
         * @return void
         */
        public function testGetUserInfoByUserId()
        {
            // テストコード
        }
    }
    
    
  • 下記で回避できた。TestCaseはPHPUnit直下ではなくTests直下のものを見てもらう。
<?php

namespace Tests\Unit\Service;

// 下記を修正
use Tests\TestCase;

class UserServiceTest extends TestCase
{
    /**
     * A basic unit test example.
     *
     * @return void
     */
    public function testExample()
    {
        $this->assertTrue(true);
    }

    /**
     * getUserInfoByUserIdメソッドのテスト
     *
     * @return void
     */
    public function testGetUserInfoByUserId()
    {
        // テストコード
    }
}

参考文献

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