limeのis_deeplyが使いにくいので自前で書いてみた
limeのis_deeply。配列を比較できて便利だけど、いかんせん結果が見にくい。
と、いうわけで自前で書いてみた。
たとえばこんな配列を渡すと、
$a = array( 'hoge' => 'hogehog', 'huga' => 100, 'moga' => array( 'a' => 'aaa', 'b' => 'bbb', ), );$b = array( ‘hoge’ => ‘hogehoge’, ‘huga’ => ‘100’, ‘moga’ => array( ‘a’ => ‘aaa’, ‘b’ => ‘bb’, ), );
$diffs = is_deeply($a, $b);
こんな結果が帰ってくる。
Array ( [[hoge]] => Array ( [0] => hogehog (string) [1] => hogehoge (string) ) [[huga]] => Array ( [0] => 100 (integer) [1] => 100 (string) ) [[moga][b]] => Array ( [0] => bbb (string) [1] => bb (string) ) )
これをもっと見やすく整形してlimeを継承して使うようにすれば、だいぶテスト時のいらいらが軽減されるはず。