PHPUnit 7 не распознает мои аннотации Symfony 3.4 @, необходимые для сеттеров - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь протестировать следующий класс командной строки Symfony 3.4 CLI с PHPUnit 7.

class SubscribeUsers extends ContainerAwareCommand
{
    use LoggerTrait;

    use DalcioTrait;

У меня есть набор характеристик с этим типичным форматом:

DalcioTrait.php

trait DalcioTrait
{
    /**
     * @var Dalcio
     */
    protected $dalcio;

    /**
     * @required
     * @param Dalcio $dalcio
     */
    public function setDalcio(Dalcio $dalcio)
    {
        $this->dalcio = $dalcio;
    }

    /**
     * @return Dalcio
     */
    public function getDalcio(): Dalcio
    {
        return $this->dalcio;
    }
}

В моем тесте у меня есть следующее:

    $commandTester = new CommandTester($command);
    $commandTester->execute(['command' => $command->getName()]);

, и это то место, где оно падает, потому что там, где я называю $this->getLogger() или $this->getDalcio() в SubscribeUsers, оно падаетпотому что они оба NULL.

Я использую аннотацию Symfony 3.4 @required, потому что теперь я использую службы с автоматической проводной связью и больше не вызываю сеттеры явно в своих определениях служб.

Есть лиЕсть ли способ заставить PHPUnit 7 распознавать эти аннотации?

...