Zurück |  | Weiter

## 10.3. Java Syntaxfehler wegen Tippfehler

### Fehlermeldung

    # Failed test 'error intended, wrong method name'
    # died: No public method 'hasLanguageXXX' defined for
    # class 'main::com::pdfunit::validators::DocumentValidator'
    # at C:/.../pdfunit-typical-error_java-syntax-error.t line 36.
    Can't locate object method "getMessage" via package.
    "No public method 'hasLanguageXXX' defined for
    class 'main::com::pdfunit::validators::DocumentValidator'
    at C:/.../pdfunit-typical-error_java-syntax-error.t line 36.

### Erklärung

Das Modul Inline::Java sucht in der entsprechenden Java-Klasse nach der Methode mit dem falsch geschriebenen Namen, findet sie nicht und gibt dann eine Fehlermeldung aus. Diese Fehlermeldung enthält den Namen der Klasse, in der gesucht wurde. Und für diese Klasse sollten Sie die Javadoc-Dokumentation heranziehen, um dem Tippfehler auf die Spur zu kommen.

### Beispiel mit Fehler

    lives_ok {
      my $pdfUnderTest = "$resources_dir/language/localeDemo_de.pdf";
      AssertThat->document($pdfUnderTest)
                ->hasLanguageXXX('de')     # error, not existing method
      ;
    } "typical error, wrong method name";

### Beispiel ohne Fehler

    lives_ok {
      my $pdfUnderTest = "$resources_dir/language/localeDemo_de.pdf";
      AssertThat->document($pdfUnderTest)
                ->hasLanguageInfo('de')    # syntax OK
      ;
    } "no error, correct method name";

Zurück | Nach oben | Weiter
10.2. Datei nicht gefunden | Zum Anfang | 10.4. Fehlerhafter Konstruktoraufruf