我对phpspec函数- shouldReturn有问题。我有工厂巫婆创建图像对象,我想测试那个工厂。
public function create($imageParams)
{
$image = new Image;
$image->setName($imagesParams['name']);
return $image;
}phpspec:
public function it_create_image_object()
{
$image = new Image;
$image->setName('Example Name');
$imageParams = ['name'=>'Example Name'];
$this->create($imageParams)->shouldReturn($image);
}PHPSpec抛出异常:它创建预期的图像对象obj:App\ImagesBundle\Entity\ image,但获得obj:AppImagesBundle\Entity\image。
为什么PHPSpec抛出异常而返回绿灯?
发布于 2016-02-01 10:00:46
spec类将永远无法工作,因为您不能对在spec‘’ed类中实例化的对象存根。在规范测试中,您必须检查返回的类型和值,如下所示:
public function it_create_image_object()
{
$imageParams = ['name'=>'Example Name'];
$image = $this->create($imageParams);
$image->getName()->shouldReturn('Example Name');
$image->shouldHaveType('App\ImagesBundle\Entity\Images');
}https://stackoverflow.com/questions/35118411
复制相似问题