2016/04/29
Perl で JSON のテスト
いまさら空前の JSON ブームが来ているのですが、Perl で JSON のテストどうすんのかと探してみたら Test::JSON っていうドストライクなモジュールがあって中身を見てみたのだけど、JSON を encode/decode するモジュールが、JSON::Any によってふわっとロードされるのがちょっと嫌だなと思って Test::JSON::More というのを書きました。テストは明示的で愚直が一番じゃないですか。
Test::JSON::More
Test::JSON::More は以下のような特長があります。
- JSON の encode/decode モジュールを明示できます
use Test::JSON::More 'JSON::PP';
- テスト用のメソッド名は Test::More っぽい感じです
ok_json($json)
cmp_json($json, $expected_json)
- JSON schema でのテストもできます
ok_json_schema($json, $schema)
- テストの際に JSON を parse した結果も
parsed_json
で取り出せます
JSV こける人への耳より情報
もし、Test::JSON::More をインストールする際に JSV のインストールがこける人は、たぶん Data::Walk の 2.00 が入ってしまっているので、消極的ですが、なんとかして 1.00 を入れるとテストが通って幸せになれます。