Я начал использовать PHPSpec 2, и я люблю его с Mockery, но столкнулся с проблемой, которую я не могу понять.Использование PHPSpec с массивом?
У меня есть массив, возвращаемый статической функцией, и я хочу проверить этот массив. Убедитесь, что все ключи, необходимые там и т.д.
Я пробовал:
$systems = CacheFactory::getCacheSystems();
$systems->shouldBeArray();
Как также:
$systems = CacheFactory::getCacheSystems();
$this->spec($systems)->shouldBeArray();
Но ни работал. Первое, по очевидным причинам, error'd, говорящее $systems
, не было объектом. Вторая ошибка: я не могу сериализовать закрытие. В массиве есть замыкания (это массив конфигурации), но я даже попытался отфильтровать их, но безрезультатно.
массива Пример:
array(
'someCache' => array(
'cache' => 'SomeCacheSystem',
'checks' => function() { return isCacheActivated(); }
),
Возможно ли это с PHPSpec 2 в настоящее время? Я просто пропустил что-то глупое, я довольно новичок в структуре.
Bonus вопрос, если вы не возражаете. Кажется, я не могу пройти через массив '$ systems', как только получаю его так, как вы указали – Ben