如何在phpspec的类中测试父调用方法



我有一个带有父调用方法的类。我想确保父调用已经被调用,这样当我编辑测试方法并删除该行时,它将无法测试

我的班级:

public function myMethod($object)
{
    parent::myMethod($object);
    ..
}

我的测试(规范):

/*
 * @param ExampleEntityMyEntity $myEntity
 */
function it_cat_call_my_method_example($myEntity)
{
    $this->myMethod($myEntity)->shouldParentHaveBeenCalled(); // what to do here?
}

这可能吗?

这在您描述的方式中是不可能的。

测试对家长的呼叫有什么好处?您可能想测试父级实现的某些行为是否发生,所以直接调用它。

换句话说,如果我重写我的类,不调用parent,而是实现相同的功能,我认为测试不应该失败。

我认为这是不可能的。PHPSpec允许您测试公共API(以及对合作者的调用),但与继承无关。

相关内容

  • 没有找到相关文章

最新更新