PhpStorm碰撞忽略而不是

时间:2019-12-10 01:48:55

标签: php laravel phpstorm

更新PhpStorm后,我的测试中有此烦人的消息。

enter image description here

错误提示:

  

特质方法'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'
        ]);
    }
}

2 个答案:

答案 0 :(得分:1)

如果您正在运行PhpStorm 2019.3,则是此版本引入的新检查中的错误:https://youtrack.jetbrains.com/issue/WEB-43949

在某些情况下,检查似乎忽略了insteadof关键字。

答案 1 :(得分:0)

此问题从今天(大约)开始修复。更新您的IDE,它应该可以工作。