[JAVA] Fehler beim Starten von JUnit mit veralteter POI-Version

Einführung

In einem bestimmten Projekt warf die Unit-Test-Klasse immer wieder Fehler, sodass die Ursache untersucht wurde. Es ist ein Memo des damaligen Untersuchungsprozesses.

Der aufgetretene Fehler

SLF4J: Failed toString() invocation on an object of type [org.apache.poi.hssf.usermodel.HSSFRow]
java.lang.AssertionError: hashCode not designed
    at org.apache.poi.hssf.usermodel.HSSFRow.hashCode(HSSFRow.java:704)
    at java.lang.Object.toString(Object.java:236)
    :
    :

Aufgrund des obigen Fehlers ist die Ausgabe des Debug-Protokolls fehlgeschlagen. (Ich konnte die Testklasse noch durchführen)

Mal sehen, wo der Fehler aufgetreten ist

Schauen Sie sich HSSFRow.java an, wo der Fehler auftritt

702: @Override
703: public int hashCode() {
704:     assert false : "hashCode not designed";
705:     return 42; // any arbitrary constant will do
706: }

Anscheinend scheint die Implementierung so zu sein, dass beim Aufruf der hashCode-Methode ein AssertionError auftritt.

Ich habe die Version der Bibliothek überprüft

Ich war ein wenig besorgt und beschloss, vorerst die Version jeder Bibliothek zu überprüfen.

Fragen Sie den Google-Lehrer, ob die Version von ↑ korrekt ist. (Ich habe auf den Artikel Laden von Integrationstestdaten mit DBUnit verwiesen.)

POI war nicht die empfohlene Version

Gemäß dem Artikel, auf den ich verwiesen habe, verwendet die POI-Version 3.2-FINAL. Als ich versuchte, die Version zu wechseln, verschwand der Fehler.

Recommended Posts

Fehler beim Starten von JUnit mit veralteter POI-Version
Einfacher JUnit-Test der Elasticsearch 2018-Version mit Embedded-Elasticsearch
Fehler beim Spielen mit Java
Die Ursache des DOMA 4019-Fehlers beim Kompilieren mit Gradle lag 7 Tage lang
Ein Memorandum beim Start einer Neuentwicklung mit IntelliJ + Gradle + SpringBoot + JUnit5 (Jupiter)
Fehler beim Erstellen der Infrastruktur mit der aws-App
Fehler beim Starten von Eclipse nach dem Upgrade von JDK
Javaw.exe Fehler beim Starten von Spring Boot (STS)
[Laravel] Umgang mit Fehlern aufgrund von Speichermangel, wenn Komponisten [Docker] benötigen
[Rails] Fehlerbehebung beim Generieren von Token mit PAYJP
Verwalten Sie die Version von Ruby selbst mit rbenv
Überschreiben Sie den Inhalt der Konfiguration mit Spring-boot + JUnit5
Release: Durchführen der Bereitstellung gibt Fehlercode 400
Was ist nach der Installation von 'devise' 'bootstrap' von gemfile with Rails zu tun, wenn url ein Fehler ist?