Fehlermeldungen von PDFUnit gibt es in englischer und deutscher Sprache. Sie liefern detailierte Informationen, um eine Fehlerbehebung zu erleichtern. Insgesamt wird versucht, Meldungen so sprechend wie möglich zu gestalten. Diese Absicht demonstriert eine Fehlermeldung für ein falsches Seitenformat:
Wrong page format in 'multiple-formats-on-individual-pages.pdf' on page 1. Expected: 'height=297.00, width=210.00 (as 'mm')', but was: 'height=209.90, width=297.04 (as 'mm')'.
Damit Fehlermeldungen lesbar bleiben, werden lange Parameterinhalte verkürzt und
die Position des Fehlers durch die Zeichen <[
und ]>
markiert. Die Anzahl der verkürzten Zeichen wird mit '...NN...'
dargestellt:
The expected content does not match the JavaScript in 'javaScriptClock.pdf'. Expected: '//<[Thisfileco...41...dbyPDFUnit]>', but was: '//<[Constantsu...4969...);break;}}]>'.
Die Bereitstellung von Fehlermeldungen in weiteren Sprachen neben Deutsch und Englisch ist technisch vorbereitet. Schreiben Sie Ihre Wünsche an info[at]pdfunit.com.
Fehlertexte stehen in den Dateien messages.properties
bzw.
messages_SPRACHE.properties
. Jede Fehlermeldung in diesen Dateien hat
das Format key = value
. Als key
wird im Falle von PDFUnit
der Name einer Klasse verwendet, insofern muss der Begriff 'Fehlernummer (error number)' durch den
Begriff 'Fehlerschlüssel (error key)' ersetzt werden.
Wenn zur Laufzeit ein Fehler abgefangen wurde, kann dieser Fehlerschlüssel abgefragt werden:
@Test public void testErrorKey_hasText() throws Exception { try { String filename = PATH + "content/empty-pages.pdf"; AssertThat.document(filename) .restrictedTo(EVERY_PAGE) .hasText() ; } catch (PDFUnitValidationException e) { String expectedKey = "com.pdfunit.messages.TextAvailableMessage"; String actualKey = e.getErrorKey(); assertEquals(expectedKey, actualKey); } }
Im catch-Zweig könnte der Error-Key auch an eine Logging-Funktion übergeben werden.