PhpStorm 中的预言自动完成

Prophecy autocomplete in PhpStorm

我在 PHPUnit 测试中使用 PhpStorm 和 Prophecy

我使用了插件 PHPUnit Autocomplete Assistant,在我更新到 PhpStorm 2016.1.1 之前它运行良好。插件已禁用,此消息显示在 PhpStorm 启动时:

Following plugins are incompatible with current IDE build: PHPUnit Autocomplete Assistant

作者在他的 GitHub issues 上有一个星期没有回答,所以我开始寻找替代方案,但找不到任何替代方案。没有这样的插件,PHPStorm 中的 Prophecy 会很不愉快——你的编辑器充满了警告,没有自动完成等等。

您知道 PHPStorm 和 Prophecy 的其他工具吗?

我在 gitHub 分叉了回购并修复了代码 - 我的合并请求已打开。

直到你可以使用: https://github.com/shopfe/phpuaca/releases/tag/1.3.2-beta

此致

如果您使用的是 PhpStorm 2016.2+,您可以在 ./.phpstorm.meta.php/prophecy.meta.php 下的项目根目录下创建一个文件,内容如下:

<?php

namespace PHPSTORM_META {
    override(\PHPUnit\Framework\TestCase::prophesize(0),
        map([
            '' => '@',
        ])
    );
}

在那之后(也可能在重启 PhpStorm 之后),使用预言自动完成功能将非常有效:

autocomplete example for PhpStorm with prophecy and meta file

注意 extends TestCase 而不是缺少 PHPUnit 版本的命名空间。

您可以在此处获取有关此 PhpStorm 功能的更多信息: PhpStorm Advanced Metadata

目前最好的插件是 PHPUnit Enhancement,它为 PHPStorm 中的 Prophecy 提供了惊人的支持。这是一个开源项目,与最新的 PHPStorm 版本配合得很好。由于我广泛使用 Prophecy 和 PHPUnit,我无法想象没有它我会写任何测试。