Test::Baseでハッシュの比較をしよう
今までずっとisとokで頑張ってたけど、keysで回してハッシュの比較する気にはならなくて、調べた。1時間はかかった。
Reserve->addがハッシュを返すとして。
filters { input => ['yaml', 'add'], expected => 'yaml', }; sub add { Reserve->add('reserve', @_) } run_is_deeply; __END__ === blank input --- input url: --- expected msg: 何か変なURLだよ! === string input --- input url: hoge --- expected msg: 何か変なURLだよ!
フィルタにyamlを使えば、yaml記法で書いたデータをハッシュにしてくれる。
間違った方法ではない…はず。
それにしても、テストが通るのは見てて楽しい。
ある程度書き終えた後、一気に流してResult: PASSを見るとニヤリとするね。