atoum/json-schema-extension
This extension validates your JSON strings against a JSON-Schema specification.
It also checks if a string a valid JSON string.
Example
<?php
namespace jubianchi\example\json;
use atoum;
class foo extends atoum\test
{
public function testIsJson()
{
$this
->given($string = '{"foo": "bar"}')
->then
->json($string)
;
}
public function testValidatesSchema()
{
$this
->given($string = '["foo", "bar"]')
->then
->json($string)->validates('{"title": "test", "type": "array"}')
->json($string)->validates('/path/to/json.schema')
;
}
}
Install it
Install extension using composer:
composer require --dev atoum/json-schema-extension
Enable the extension using atoum configuration file:
<?php
// .atoum.php
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use mageekguy\atoum\jsonSchema;
$runner->addExtension(new jsonSchema\extension($script));
Links
License
json-schema-extension is released under the BSD-3-Clause License. See the bundled LICENSE file for details.