Проверка XML на основе схемы XSD в модульном тесте PHP

Я разрабатываю компонент приложения на основе PHP, который экспортирует некоторые данные в файл XML, который должен следовать схеме, определенной файлом XSD. Я знаю, как проверить файл вручную, но было бы очень удобно, если бы это можно было сделать в рамках модульных тестов.

Есть ли какая-либо библиотека или фреймворк, которые могут помочь мне в этом?

4

Решение

Одна из возможностей будет использовать DOMDocument::schemaValidate или же DOMDocument::schemaValidateSource. Поскольку любой из этих двух методов возвращает логическое значение, вы можете утверждать, что возвращаемое значение true,

3

Другие решения

это Проверка PHPUnit XSD lib определяет кастом PHPUnit_Framework_Constraint использования DOMDocument::schemaValidate,

Преимущество состоит в том, что он дает полезную ошибку при сбое проверки, вместо того, чтобы просто сказать, что «ложь не соответствует действительности».

использование

$constraint = new Jasny\PHPUnit\Constraint\XSDValidation("myschema.xsd");

$xml = $this->object->doSomething();
$this->assertThat($xml, $constraint);

Примечание: это бесстыдный плагин моей собственной библиотеки с открытым исходным кодом.

0

По вопросам рекламы [email protected]