PhpStormでMockObjectのinspection警告を無くす方法

PhpStorm+PHP Unitを書く場合に、MockObjectを作成すると、PhpStormのinspection機能により、警告が出る。

  • ->getMock() で返ってくる$mockobjwidth()メソッドがないとinspection警告される。
phpstorm_phpdoc_no_var
  • $mockobjのPHPDocを記載して解決を図る。この場合、PapaerクラスのMockと明示してみるが、今度はMockObjectの->method がinspection警告出る。
    /** @var Paper $mockobj */
phpstorm_phpdoc_var_single_class

なんとかならないかと思っていたら、PHPDocの@var は 「|」でOR の表現ができた!(知らなかった。)mockobj がPaper,PHPUnit_Framework_MockObject_MockObjectであることを明示すると、inspection警告が無くなった!

    /** @var Paper <strong class="red">|</strong> PHPUnit_Framework_MockObject_MockObject $mockobj */
phpstorm_phpdoc_var_multiple_class

このORでの表記方法は他にも使えそうに思えるので、覚えておこう。