2014-04-04 40 views
1

我有一个方法查询数据库,并返回一个数组结果或如果没有结果为false。PHPSpec如何问一个方法是否返回这个或那

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

或者我需要模拟数据库查询并将其分离出我的方法吗?

回答

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; 
     }, 
    ]; 
} 
+0

AHHHHHH!您一举澄清了内联匹配器的工作原理。棒极了。对不起,我应该包含我的代码!非常感谢! – alexleonard

+0

我不得不稍微修改一下,否则失败。我需要将该方法分配给一个变量,并将其传递给我的内联匹配器。这就是我所做的:http://laravel.io/bin/9QrR - 是否有另一种方法来做到这一点? – alexleonard

相关问题