在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
答案 0 :(得分:2)
更改PHPDoc注释,如下所示:
/**
* @var \PHPUnit_Framework_MockObject_MockObject|TestRepository
*/
protected $testRepo;
希望这个帮助