How can I print SchemaValidationResults in a human readable format (e.g. JSON)? Documentation page talks about different output formats (JsonSchemaOptions.OutputFormat
property), but I cannot figure out how to get to text representation.
My code has the following pattern:
JsonSchema schema = _SchemaReader.Get(schemaPath);
JsonValue json = JsonValue.Parse(jsonDoc);
SchemaValidationResults validationResult = schema.Validate(json, new JsonSchemaOptions()
{
OutputFormat = SchemaValidationOutputFormat.Detailed
});
validationResult.Should().BeValid(); // Custom FluentAssertions extension
Custom FluentAssertions
extension code:
// Subject is SchemaValidationResults
Execute.Assertion.
Given(() => Subject).
ForCondition(s => s.IsValid).
FailWith("Validation Errors: {0}", Subject.ErrorMessage);
But the resulting error message is: "Items at indices [2,4] failed validation."
But I would like to see a more comprehensive output.