The atoum json-schema-extension allows you to validate JSON against schemas.
PHP Pascal
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
classes
tests
.atoum.php
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
composer.json
configuration.php

README.md

atoum/json-schema-extension Build Status

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.

atoum