NoClassDefFoundError quando si tenta di utilizzare la copertura JMockit
Domanda
Sto cercando di usare le capacità di copertura del codice di JMockit. Utilizzo del parametro JVM
-javaagent:jmockit.jar=coverage=.*MyClass.java:html::
Sono in grado di eseguire i miei test (jmockit.jar e coverage.jar sono sul percorso di classe), sfortunatamente il mio file di registro dice:
Loaded external tool: mockit.coverage.CodeCoverage=.*MyClass.java:html::
Loaded external tool: mockit.integration.junit3.JUnitTestCaseDecorator
Loaded external tool: mockit.integration.junit4.JUnit4ClassRunnerDecorator
Exception in thread "Thread-0" java.lang.NoClassDefFoundError
at mockit.coverage.CodeCoverage$OutputFileGenerator.run(CodeCoverage.java:56)
... e non viene generato alcun file di copertura. Qualcuno ha ottenuto JMockit Coverage per funzionare? In tal caso, qualche idea su cosa sta causando questo errore? Grazie ...
Rispondi : Avevo bisogno di aggiungere copertura alle voci bootstrap piuttosto che solo alle voci utente (nella configurazione della corsa Eclipse)
Risposta effettiva La risposta effettiva è che stavo eseguendo il test con JUnit 3, ma la copertura ha bisogno di JUnit 4. Ciò ha risolto i problemi e non ho dovuto aggiungere alcuna voce bootstrap.
Soluzione
Stavo eseguendo il test con JUnit 3, ma la copertura richiede JUnit 4. Ciò ha risolto i problemi e non ho dovuto aggiungere alcuna voce bootstrap.
Altri suggerimenti
Random indovina ... È la copertura.jar sul percorso di classe che utilizza jmockit - potrebbe essere diverso?