Zurück |  | Weiter

# 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. Und angenommen, ein Test-Dokument soll genau eine Seite umfassen sowie die Grußformel „Vielen Dank für die Nutzung unserer Serviceleistungen“ und die Rechnungssumme von „30,34 Euro“ enthalten. Dann testen Sie diese Anforderungen so:

    use strict;
    use utf8;
    use warnings;

    use PDF::PDFUnit;
    use Test::Exception;
    use Test::More;

    my $resources_dir = ...;   # let it point to the base folder of your test data
    my $pdfUnderTest = "$resources_dir/quickstart/quickstartDemo_en.pdf";

    #
    # Testcase 'has one page'
    #
    lives_ok {
      AssertThat
        ->document($pdfUnderTest)
        ->hasNumberOfPages(1)
      ;
    } "has one page";

    lives_ok {
      my $expectedGreeting = "Vielen Dank für die Nutzung unserer Serviceleistungen";

      AssertThat->document($pdfUnderTest)
                ->restrictedTo(LAST_PAGE)
                ->hasText()
                ->containing($expectedGreeting)
      ;
    } "has greeting";

    #
    # Testcase 'has expected charge'
    #
    lives_ok {
      my $upperLeftX  =  172;  # in millimeter
      my $upperLeftY  =  178;
      my $width       =   20;
      my $height      =    9;
      my $regionCharge = PageRegion->new($upperLeftX, $upperLeftY, $width, $height);

      AssertThat->document($pdfUnderTest)
                ->restrictedTo(LAST_PAGE)
                ->restrictedTo($regionCharge)
                ->hasText()
                ->containing('29,89')   # Let's see an error message. Correct value: 30,34
      ;
    } "has expected charge";

    diag $@->getMessage() if $@;
    done_testing();

Die Anweisung `diag $@->getMessage() if $@` sorgt dafür, dass Fehlermeldungen von PDFUnit-Java angezeigt werden. Für den provozierten Fehler im letzten Test sieht die Fehlermeldung folgendermaßen aus:

    # Failed test 'has expected charge'
    # at C:/.../examples_quickstart-de.t line 67.
    # died: main::com::pdfunit::errors::PDFUnitValidationException=HASH(0x4055938)
    # Page(s) [1] of 'C:\...\quickstartDemo_de.pdf'
    # not containing the expected text: '29,89 Euro'. Found: '30,34 Euro'.

So einfach geht's. Die folgenden Kapitel zeigen den Funktionsumfang, die Installation und typische Beispiele für die Verwendung von PDF::PDFUnit.

Zurück |  | Weiter
Kapitel 1. Über diese Dokumentation | Zum Anfang | Kapitel 3. Funktionsumfang