PHPUnit 7无法识别我的Symfony 3.4 @setter的注解

时间:2018-10-25 01:31:45

标签: php phpunit symfony-3.4 php-7.2 phpunit-testing

我正在尝试使用PHPUnit 7测试以下Symfony 3.4 CLI命令类。

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批注,因为我现在使用的是自动装配的服务,并且不再在服务定义中显式调用setter。

有什么方法可以让PHPUnit 7识别这些注释?

0 个答案:

没有答案