Errori di unit test dopo l’aggiornamento ad AEM SDK 2026.9.28386

✨ Il contenuto è generato tramite IA e potrebbe non essere accurato. Termini di IA generativi

Questo articolo spiega come risolvere gli errori diffusi degli unit test nelle build Maven locali dopo l’aggiornamento a Adobe Experience Manager (AEM) SDK 2026.9.28386, causati da modifiche nelle dipendenze di base e di test.

Descrizione description

Ambiente

  • Adobe Experience Manager (AEM) SDK 2026.9.28386 (aggiornamento da 2026.8.27830)

Sintomi

  • Dopo l’aggiornamento di AEM SDK, le build Maven locali non superano un numero elevato di unit test precedentemente superati.
  • Gli errori si verificano principalmente durante l’esecuzione dell’obiettivo maven-surefire-plugin:test.
  • Gli errori includono:
  • Eccezioni impreviste come java.lang.reflect.InvocationTargetException
  • NoClassDefFoundError, NoSuchMethodError o NoSuchFieldError
  • Errori di runtime durante l’inizializzazione della factory del risolutore risorse Mock JCR
  • Errori di test relativi a classi, metodi o campi mancanti o incompatibili (ad esempio, Log4j, Sling Mock, JCR Mock)
  • Gli unit test che si basano su JCR Mock, Sling Mock, Log4j o dipendenze di test correlate non consentono di inizializzare o generare errori di runtime.

Causa

L’aggiornamento AEM SDK 2026.9.28386 ha introdotto modifiche alle dipendenze di base e di test, causando incompatibilità con versioni precedenti di JCR Mock, Sling Mock, Log4j o librerie correlate utilizzate negli unit test.

Risoluzione resolution

Per risolvere il problema, segui la procedura riportata di seguito.

  1. Consulta le note sulla versione di AEM SDK per la versione 2026.9.28386 per eventuali modifiche documentate alle librerie di base o alle dipendenze di test.
  2. Aggiorna le dipendenze dei test del progetto (ad esempio io.wcm.testing.mock.aem, org.apache.sling.testing.sling-mock e org.apache.logging.log4j) alle versioni compatibili con AEM SDK aggiornato. Per le versioni consigliate, fai riferimento a Archetipo AEM.
  3. Aggiorna le versioni di queste dipendenze in pom.xml in modo che corrispondano o superino quelle incluse nel pacchetto con il nuovo SDK.
  4. Eseguire mvn clean install -U per cancellare gli artefatti memorizzati nella cache e ricompilare il progetto con le dipendenze aggiornate.
  5. Esaminare le analisi dello stack per individuare errori quali NoClassDefFoundError, NoSuchMethodError o NoSuchFieldError e aggiornare il codice di test per evitare l’utilizzo di API obsolete o rimosse. Eseguire il refactoring dei test in base alle esigenze.
  6. Assicurati che la versione Log4j utilizzata nei test sia compatibile con SDK e allinea le dipendenze di registrazione in base alle esigenze.
  7. Eseguire nuovamente gli unit test con mvn test per verificare che vengano passati con le dipendenze aggiornate.
recommendation-more-help
experience-cloud-kcs-help-kbarticles