phpspec - 模拟方法的返回值


phpspec - mocking return value of method

在phpspec中,我可以模拟方法的返回值吗?

例如:

class MyClass()
{
    public function getStaffMemberNames()
    {
        // db call to get array of staff member names
    }
    public function sortStaffMemberNames()
    {
        return sort($this->getStaffMemberNames());
    }
}

我对测试sortStaffMemberNames方法感兴趣。 但它依赖于另一个使用 db 连接的类方法。 我想模拟getStaffMemberNames,以便我可以轻松测试。

如何实现这一点?

phpspec 中没有部分模拟(你不能模拟被测试的类)。这是一种不好的做法。

您应该嘲笑您的协作者(例如数据库连接)。