невозможно выполнить интеграционный тест для сеялки БД - Ошибка: вызов функции-члена connection () в null - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь написать интеграционный тест для моей сеялки БД, но, похоже, он не возвращает экземпляр этой сеялки.поэтому он не может выполнить

, когда я отлаживаю его, $ adminUserSeeder показывает следующее

enter image description here

это мой тест

 namespace Tests\Unit\user;
use AdminUserSeeder;
use App\Test;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use PHPUnit\Framework\TestCase;

class AdminSeederTest extends TestCase
{
    use DatabaseTransactions;

    public function setUp()
    {
        parent::setUp();
    }

    public function testRun()
    {
        $adminUserSeeder = new AdminUserSeeder();
        $adminUserSeeder->run();
        $this->assertDatabaseHas('users', ['name' =>  'admin']);
    }

}

и это мой класс сеялки

используйте Illuminate \ Database \ Seeder;

class AdminUserSeeder extends Seeder
{

    public function run()
    {
     $user = (new App\User)->where('name','admin')->first();
      if($user)
         {
             $user->delete();
         }
        factory(App\User::class,'admin')->create();
    }
}

добавлена ​​трассировка стека

 /laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1138
/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1104
/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:936
/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:880
/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:843
/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1477
/database/seeds/AdminUserSeeder.php:10
/tests/Unit/AdminSeederTest.php:21
...