【发布时间】:2014-04-04 10:40:04
【问题描述】:
我有一个方法可以查询数据库并返回一个包含结果的数组,如果没有结果则返回 false。
在这种情况下,我需要 PHPSpec 做的只是测试它是否返回一个数组或 false,但我不知道该怎么做。
或者我是否需要模拟数据库查询并将其从我的方法中分离出来?
【问题讨论】:
我有一个方法可以查询数据库并返回一个包含结果的数组,如果没有结果则返回 false。
在这种情况下,我需要 PHPSpec 做的只是测试它是否返回一个数组或 false,但我不知道该怎么做。
或者我是否需要模拟数据库查询并将其从我的方法中分离出来?
【问题讨论】:
您没有显示任何代码,因此我们可以使用,但如果当前的匹配器不适合您,您可以创建新的:
function it_should_return_array_or_false()
{
$this->getOptions()->shouldBeArrayOrFalse();
}
public function getMatchers()
{
return [
'beArrayOrFalse' => function($subject, $value) {
return is_array($value) || $value === false;
},
];
}
【讨论】: