Метод тестирования laravel assertDatabaseHas () не работает - PullRequest
0 голосов
/ 19 мая 2018

Я получаю следующую ошибку при использовании метода laravel assertDatabaseHas () в моих тестах.

Error: Call to undefined method Illuminate\Http\Response::assertDatabaseHas()

это мой фрагмент кода с использованием assertDatabaseHas ():

$response = $this->withSession(['user_id' => $this->user_id])
        ->json('post',
                route('some_route'),
                $request //an array 
            );

        $request['myuser_id'] = $this->user_id;

        $response->assertStatus($expected['code'])
            ->assertDatabaseHas('profiles',$request);

Я также пытался использовать $ this-> assertDatabaseHas (), но появилась новая ошибка:

TypeError: Argument 2 passed to PHPUnit\Framework\Assert::assertThat() must be an instance of PHPUnit\Framework\Constraint\Constraint, instance of Illuminate\Foundation\Testing\Constraints\HasInDatabase given, called in /project_path/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php on line 22

Некоторое время я искал решение проблемы и нашел это: решение ,но понижение версии phpunit до 5. * у меня не сработало.

Я использую laravel 5.4 и phpunit 6.5.5.

есть идеи, ребята?

1 Ответ

0 голосов
/ 21 мая 2018

Я обновил свою версию laravel с 5.4.37 до 5.5.40, и проблема решена.assertDatabaseHas () теперь работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...