我已经开始使用 PHPSpec 2,并且很喜欢 Mockery,但遇到了一个我无法弄清楚的问题。
我有一个静态函数返回的数组,我想验证这个数组。确保所有需要的钥匙都在那里,等等。
我试过了:
$systems = CacheFactory::getCacheSystems();
$systems->shouldBeArray();
也:
$systems = CacheFactory::getCacheSystems();
$this->spec($systems)->shouldBeArray();
但都没有奏效。第一个原因很明显,错误的说$systems
不是对象。第二个错误说我无法序列化闭包。数组中有闭包(它是一个配置数组),但我什至尝试将它们过滤掉,但无济于事。
数组示例:
array(
'someCache' => array(
'cache' => 'SomeCacheSystem',
'checks' => function () { return isCacheActivated(); }
),
目前这可能与 PHPSpec 2 一起使用吗?我只是错过了一些愚蠢的东西吗,我对框架很陌生。