Dans un certain projet, la classe de test unitaire continuait à générer des erreurs, donc la cause a été étudiée. C'est un mémo du processus d'enquête à ce moment-là.
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)
:
:
En raison de l'erreur ci-dessus, la sortie du journal de débogage a échoué. (J'ai toujours pu exécuter la classe de test)
Jetez un œil à HSSFRow.java où l'erreur se produit
702: @Override
703: public int hashCode() {
704: assert false : "hashCode not designed";
705: return 42; // any arbitrary constant will do
706: }
Apparemment, il semble que l'implémentation est telle qu'une AssertionError se produit lorsque la méthode hashCode est appelée.
J'étais un peu inquiet et j'ai décidé de vérifier la version de chaque bibliothèque pour le moment.
Demandez à un enseignant de Google de voir si la version de ↑ est correcte. (J'ai fait référence à l'article Chargement des données de test d'intégration à l'aide de DBUnit.)
D'après l'article auquel j'ai fait référence, la version POI utilise 3.2-FINAL. Lorsque j'ai essayé de changer de version, l'erreur a disparu.
Recommended Posts