如何使用phpspec实现代码自动完成
我刚刚开始学习phpspec,以期取代PHPUnit。不幸的是,我对使用PHPStorm编辑器的代码完成特性非常着迷,这使得即使是PHPUnit的详细模拟接口也能非常快速地输入 phpspec没有这样的运气。对于这样一个类:如何使用phpspec实现代码自动完成,php,phpstorm,phpspec,Php,Phpstorm,Phpspec,我刚刚开始学习phpspec,以期取代PHPUnit。不幸的是,我对使用PHPStorm编辑器的代码完成特性非常着迷,这使得即使是PHPUnit的详细模拟接口也能非常快速地输入 phpspec没有这样的运气。对于这样一个类: <?php namespace spec\MyVendor\MyClass; use PhpSpec\ObjectBehavior; class MyClassSpec extends ObjectBehavior { function it_is_in
<?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->???
}
}
更新:PhpStorm内置了对PhpSpec的支持。我们只能期待每一个新版本都会有所改进
问题中PhpSpec的PhpStorm插件并没有真正维护,但您可以尝试另一种解决方案。自PhpStorm 7以来,可以使用@mixin
注释:
<?php
namespace spec\MyVendor;
use MyVendor\MyClass;
use PhpSpec\ObjectBehavior;
/**
* @mixin MyClass
*/
class MyClassSpec extends ObjectBehavior
{
function it_is_initializable()
{
$this->shouldHaveType('MyVendor\MyClass');
}
function it_should_do_something()
{
$this->doSomething(':D');
}
}
这刚刚解决了我的许多问题:)我以前还没有看到@mixin
注释。非常感谢。谢谢,很好的解决方法。预言也有解决办法吗?像$this->doSomething(':D')->willReturn('something')代码>?