首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPSpec应该返回正确的值

PHPSpec应该返回正确的值
EN

Stack Overflow用户
提问于 2016-01-31 19:32:34
回答 1查看 721关注 0票数 0

我对phpspec函数- shouldReturn有问题。我有工厂巫婆创建图像对象,我想测试那个工厂。

代码语言:javascript
复制
public function create($imageParams)
{
  $image = new Image;
  $image->setName($imagesParams['name']);
  return $image;
}

phpspec:

代码语言:javascript
复制
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抛出异常而返回绿灯?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-01 10:00:46

spec类将永远无法工作,因为您不能对在spec‘’ed类中实例化的对象存根。在规范测试中,您必须检查返回的类型和值,如下所示:

代码语言:javascript
复制
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');
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35118411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档