更新PhpStorm后,我的测试中有此烦人的消息。
错误提示:
特质方法'beginDatabaseTransaction'将不被应用,因为它与'RefreshDatabase'发生冲突
为什么PhpStorm忽略而不是?
我有什么方法可以禁用或修复它?
谢谢。
这是整个测试:
<?php
namespace Tests\Feature\Auth\User;
use App\Application\Traits\RefreshDatabaseTransactionLess;
use App\Domain\Models\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Hash;
use Tests\TestCase;
class LoginUserTest extends TestCase
{
use RefreshDatabase, DatabaseMigrations, RefreshDatabaseTransactionless {
RefreshDatabaseTransactionless::beginDatabaseTransaction insteadof RefreshDatabase;
}
protected function postLoginRoute()
{
return route('auth.user.login');
}
public function testUserCanLogin()
{
$password = 'password';
$user = factory(User::class)->create([
'email' => 'test@test.com',
'password' => Hash::make($password)
]);
$response = $this->post($this->postLoginRoute(), [
'email' => $user->email,
'password' => $password
]);
$response->assertSuccessful();
$response->assertJsonStructure([
'token',
'type',
'expires'
]);
}
}
答案 0 :(得分:1)
如果您正在运行PhpStorm 2019.3,则是此版本引入的新检查中的错误:https://youtrack.jetbrains.com/issue/WEB-43949。
在某些情况下,检查似乎忽略了insteadof
关键字。
答案 1 :(得分:0)
此问题从今天(大约)开始修复。更新您的IDE,它应该可以工作。