phpspec - 模拟方法的返回值

时间:2013-10-08 18:49:33

标签: php phpunit phpspec

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

例如:

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

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

我对测试sortStaffMemberNames方法感兴趣。但它依赖于另一个使用数据库连接的类方法。我想模拟getStaffMemberNames,这样我就可以轻松测试了。

如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

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

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