首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpspec力法-返回值

phpspec力法-返回值
EN

Stack Overflow用户
提问于 2015-04-21 19:27:35
回答 1查看 229关注 0票数 0

我正在尝试测试一个从另一个方法获取数据的类方法。

所以我做了这个:

代码语言:javascript
复制
function it_should_return_json_file_as_array()
{
    $this->exist()->willReturn(true);
    $this->read()->willReturn("{\"key\":\"value\"}");
    $this->getContent()->shouldHaveKeyWithValue('key', 'value');
}

但是当我启动phpspec run的时候,我得到了这样的信息:

代码语言:javascript
复制
[InvalidArgumentException]
String "" is not a valid classname. 
Please see reference document: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md  

怎么一回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-22 11:07:31

您所指定的类的存根方法是不可能的,也不可能是故意的。

PhpSpec试图告诉您,您决定设计的方式有问题。

请参阅我最喜欢的十大PhpSpec限制-限制#2

在使用继承扩展行为的情况下,这种限制会变得非常明显。我们继承一个类,并希望添加一个新方法,该方法在内部将某些行为委托给父类方法。我们不能模仿或存根该方法。这使我一次又一次地支持组合而不是继承,这是OO设计中的黄金原则。在继承是合理的少数情况下,我们可以将可重用行为隔离到一个单独的对象中,并在父对象中使用组合,从而允许我们用一个double替换协作者。

也可以阅读部分嘲弄

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29781405

复制
相关文章

相似问题

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