dentelis/phpunit-json-assert

PhpUnit extension for asserting json structure with dentelis/php-structure-validator

Maintainers

Package info

github.com/dentelis/phpunit-json-assert

pkg:composer/dentelis/phpunit-json-assert

Statistics

Installs: 32

Dependents: 0

Suggesters: 0

Stars: 7

Open Issues: 0

dev-master 2024-04-03 16:35 UTC

This package is auto-updated.

Last update: 2026-03-01 00:44:14 UTC


README

PHPUnit data structure validation for JSON documents

Installation

Use the package manager composer to install Validator.

composer require dentelis/phpunit-json-assert:dev-master

Usage

Add JsonAssertions trait to your test file

<?php
declare(strict_types=1);

use Dentelis\PhpUnitJsonAssert\JsonAssertions;
use Dentelis\StructureValidator\Type\ObjectType;
use Dentelis\StructureValidator\Type\StringType;
use PHPUnit\Framework\TestCase;

final class CustomTest extends TestCase
{
    use JsonAssertions;
    
    public function test(): void
    {
        $this->assertJsonStructure(
            '{"name":"user","email":"user@example.com"}',
             (new ObjectType())
                 ->addProperty('name', (new StringType())->assertNotEmpty())
                 ->addProperty('email', (new StringType())->assertEmail())
        );
    }
}