NAME
Test::JSON::More - JSON Test Utility
SYNOPSIS
use
Test::JSON::More;
use
Test::More;
my
$json
=
'{"foo":123,"bar":"baz"}'
;
ok_json(
$json
);
cmp_json(
$json
,
'{"bar":"baz","foo":123}'
);
my
$schema
= {
type
=>
"object"
,
properties
=> {
foo
=> {
type
=>
"integer"
},
bar
=> {
type
=>
"string"
}
},
required
=> [
"foo"
]
};
ok_json_schema(
$json
,
$schema
);
is parsed_json->{foo}, 123;
done_testing;
DESCRIPTION
Test::JSON::More is the utility for testing JSON string.
SWITCH JSON MODULES
By default, Test::JSON::More use JSON module for encoding/decoding JSON. If you would like to use an another JSON module in the test, then you can specify it at loading Test::JSON::More
, like below.
NOTE that the switching JSON module needs to implement new, encode and decode methods.
METHODS
ok_json
ok_json(
$json
,
$test_name
)
Test passes if the string is valid JSON.
cmp_json
cmp_json(
$json
,
$expected_json
,
$test_name
)
Test passes if the two JSON strings are valid JSON and evaluate to the same data structure.
ok_json_schema
ok_json_schema(
$json
,
$schema
,
$test_name
)
Test passes if the string is valid JSON and fits the schema againsts its specification.
$schema
is a perl hash reference or a string of JSON schema, whichever is OK.
parsed_json
$ref
= parsed_json();
The parsed_json
function returns the perl hash ref or array ref that is the result of parsed JSON in a test methods(i.e. ok_json, cmp_json or ok_json_schema).
REPOSITORY


Test::JSON::More is hosted on github: http://github.com/bayashi/Test-JSON-More
I appreciate any feedback :D
AUTHOR
Dai Okabayashi <bayashi@cpan.org>
SEE ALSO
JSON validator: JSV::Validator, JSV
Test builder: Test::Builder::Module
Inspired by Test::JSON
LICENSE
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.