1

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

在这种情况下,我需要 PHPSpec 做的就是测试它是否返回一个数组或 false,但我不知道该怎么做。

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

4

1 回答 1

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;
        },
    ];
}
于 2014-04-04T13:35:13.850 回答