我正在尝试使用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识别这些注释?