Kapitel 2. Quickstart

Quickstart

Angenommen, Sie haben ein Projekt, das PDF-Dokumente erzeugt und möchten sicherstellen, dass die beteiligten Programme das tun, was sie sollen. Weiter angenommen, ein Test-Dokument soll genau eine Seite umfassen sowie die Grußformel Vielen Dank für die Nutzung unserer Serviceleistungen und eine Rechnungssumme von 30,34 Euro enthalten. Dann könnten Sie diese Anforderungen folgendermaßen testen:

@Test
public void hasOnePage() throws Exception {
  String filename = "quickstart/quickstartDemo_de.pdf";
  AssertThat.document(filename)
            .hasNumberOfPages(1)
  ;
}

@Test
public void hasExpectedRegards() throws Exception {
  String filename = "quickstart/quickstartDemo_de.pdf";
  String expectedRegards = "Vielen Dank für die Nutzung unserer Serviceleistungen";
  AssertThat.document(filename)
            .restrictedTo(LAST_PAGE)
            .hasText()
            .containing(expectedRegards)
  ;
}

@Test 
public void hasExpectedCharge() throws Exception {
  String filename = "quickstart/quickstartDemo_de.pdf";
  int leftX  =  172;  // in millimeter
  int upperY =  178;
  int width  =   20;
  int height =    9; 
  PageRegion regionInvoiceTotal = new PageRegion(leftX, upperY, width, height);
  
  AssertThat.document(filename)
            .restrictedTo(FIRST_PAGE)
            .restrictedTo(regionInvoiceTotal)
            .hasText()
            .containing("30,34 Euro") // This is really expected.
            .containing("29,89 Euro") // Let's see an error message :-)
  ;
}

Der typische JUnit-Report zeigt entweder den Erfolg oder eine aussagekräftige Fehlermeldung:

So einfach geht's. Die folgenden Kapitel beschreiben den Funktionsumfang, typische Testfälle und Probleme beim Umgang mit PDF-Dokumenten.