私は PHPSpec 2 を使い始めており、Mockery を気に入っていますが、理解できない問題に遭遇しました。
静的関数によって返される配列があり、この配列を検証したいと考えています。必要なすべてのキーがそこにあることなどを確認してください。
私は試した:
$systems = CacheFactory::getCacheSystems();
$systems->shouldBeArray();
としても:
$systems = CacheFactory::getCacheSystems();
$this->spec($systems)->shouldBeArray();
しかし、どちらも機能しませんでした。明らかな理由で最初のエラー$systems
は、オブジェクトではないと言ってエラーになりました。2 番目のエラーは、クロージャーをシリアル化できなかったというものです。配列にはクロージャーがあります(これは構成配列です)が、それらをフィルターで除外しようとしましたが、役に立ちませんでした。
配列の例:
array(
'someCache' => array(
'cache' => 'SomeCacheSystem',
'checks' => function () { return isCacheActivated(); }
),
これは現在 PHPSpec 2 で可能ですか? 私はばかげたことを見逃しているだけですか、私はフレームワークにかなり慣れていません。