PHPSpec如何询问方法是否返回此方法

时间:2014-04-04 10:40:05

标签: laravel laravel-4 phpspec

我有一个查询数据库的方法,并返回一个包含结果的数组,如果没有结果则返回false。

在这种情况下,我需要PHPSpec来测试它是返回一个数组还是false,但我无法解决如何做到这一点。

或者我是否需要模拟数据库查询并将其从我的方法中分离出来?

1 个答案:

答案 0 :(得分:4)

您没有显示任何代码,因此我们可以使用,但如果当前的匹配器不适合您,您可以创建新代码:

function it_should_return_array_or_false()
{
    $this->getOptions()->shouldBeArrayOrFalse();
}

public function getMatchers()
{
    return [
        'beArrayOrFalse' => function($subject, $value) {
            return is_array($value) || $value === false;
        },
    ];
}