我刚刚开始学习 phpspec 以替换 PHPUnit。不幸的是,我对使用 PHPStorm 编辑器的代码完成功能非常着迷,这使得即使是 PHPUnit 的冗长模拟界面也可以非常快速地键入。
phpspec 没有这样的运气。给定这样的类:
<?php
namespace spec\MyVendor\MyClass;
use PhpSpec\ObjectBehavior;
class MyClassSpec extends ObjectBehavior
{
function it_is_initializable()
{
$this->shouldHaveType('MyVendor\MyClass');
}
function it_should_do_something()
{
$this->???
}
}
首先,shouldHaveType
显示“未找到方法”突出显示,其次,如果我尝试在这???
一点上自动完成,我的选择仅限于ObjectBehaviour
. 我想看到像shouldHaveType
,shouldImplement
和更多的东西。
我在 Github 上找到了这个phpspec-stubs存储库,但它似乎只定义了一个方法,并且需要扩展一个包装类。
还有一个PHPStorm 插件,但我不清楚这是否应该提供自动完成功能,并且当前版本在输入任何 PHP 文件时立即在 PHPStorm 中给我一个 NullPointerException。
那么,你们所有的 phpspec 用户都输入了很多,还是有其他解决方案?