让 PhpStorm 识别 PHPUnit 设置中定义的实例



考虑以下测试用例:

class FooTest extends PHPUnit_Framework_TestCase
{
    public $foo;
    public function setUp()
    {
        $this->foo = new Foo();
    }
    public function testBar()
    {
        $expected = 42;
        $actual = $this->foo->bar();
        $this->assertEqual($expected, $actual);
    }

由于$this->foo是在setUp中实例化的,因此 PhpStorm 在后续测试方法中不会将其识别为Foo的实例。结果,大量的IDE电源丢失(丢失完成查找等)。PhpStorm甚至抱怨bar不是一种$this->foo的方法,即使它是

有没有一种有效的方法可以让 PhpStorm 识别 setUp 中定义的实例;就像它们在 __construct 中定义一样?也许我缺少一整套PhpStorm功能?或者只是一个笨拙的工作?

PHPStorm 读取标准 PHPDOC,作为示例,您可以定义为:

class CustomerHelperTest extends PHPUnit_Framework_TestCase{
    /**
     * @var AcmeDemoBundleServiceCustomerHelper
     */
    protected $customerHelper;
    protected function setUp()
    {
        $this->customerHelper = new CustomerHelper(
        );
    }

最新更新