Я только начал изучать 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
и многие другие.
Я нашел этот phpspec-stubs в Github, но, похоже, только один метод определен и требует расширения класса-оболочки.
Там также есть плагин PHPStorm, но мне это не понятно, если это должно обеспечить автозаполнение, а текущая версия дает мне исключение NullPointerException в PHPStorm немедленно при входе в любой файл PHP.
Итак, все, что вы, пользователи phpspec, печатаете много, или есть другое решение?