3

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

例如:

class MyClass()
{
    public function getStaffMemberNames()
    {
        // db call to get array of staff member names
    }

    public function sortStaffMemberNames()
    {
        return sort($this->getStaffMemberNames());
    }
}

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

如何做到这一点?

4

1 回答 1

3

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

您应该改为模拟您的协作者(例如数据库连接)。

于 2013-10-08T23:16:30.993 回答