由于setUp方法,PhpStorm phpUnit自动完成损坏

时间:2016-11-03 15:27:14

标签: php unit-testing autocomplete phpunit phpstorm

在phpUnit的setUp方法中定义PhpStorm自动完成字段。

如果我在setUp方法中定义一个mock:

public function setUp()
{
    $this->testRepo = $this->getMockBuilder(TestRepository::class)
        ->disableOriginalConstructor()
        ->getMock();
}

当我想在其他方法中使用这个模拟时:

public function testExample()
{
    $this->testRepo->.... at this point phpStorm does not show autocomplete        options
}

据我所知,phpStorm不知道setUp方法是在每个其他测试方法之前运行的,但也许有办法解决这个问题。

我也不想将phpDoc添加到定义的每个属性中。我发现这非常健壮和丑陋:

/**
 * @var PHPUnit_Framework_MockObject_MockObject
 */
protected $testRepo;

PS:Stackoverflow编辑器是s ** t

1 个答案:

答案 0 :(得分:2)

更改PHPDoc注释,如下所示:

/**
 * @var \PHPUnit_Framework_MockObject_MockObject|TestRepository
 */
protected $testRepo;

希望这个帮助