检查布尔值

时间:2017-09-22 16:39:56

标签: symfony phpspec

我有一个名为supportsClass的布尔方法(我知道但我相信BDD / TDD一直都是这个),它是作为这个接口的一部分实现的。

  

的Symfony \元器件\安全\核心\用户\ UserProviderInterface

在我的规范中,我正在测试这种方法

$this->supportsClass(get_class($user))->ShouldReturn(false).

用户是先知对象。当我运行我的规范时,我会抛出这个异常

  

[错误:TypeError(“传递给PhpSpec \ Exception \ ExceptionFactory :: methodNotFound()的参数1必须是字符串类型,给定为null

我无法找到使用任何===或==匹配器进行此规范传递的方法。我能找到的唯一布尔特定匹配器就是这些

$this->shouldBeActive(); // isActive() method should return true
$this->shouldHaveSomething(); // hasSomething() method should return true

$this->shouldNotBeActive(); // isActive() method should return false
$this->shouldNotHaveSomething(); // hasSomething() method should return false

正如您所看到的,测试中的方法与这些方法都不匹配。如果有人可以澄清如何测试没有is / has的布尔方法我会很感激。

1 个答案:

答案 0 :(得分:1)

您应该尝试$this->supportsClass(get_class($user))->shouldReturn(false).(小写应该在shouldReturn方法名称中)