2010-08-04 21 views

risposta

0

Ho usato jmockit in test di unità questo potrebbe prendere in giro quasi tutto. Estendendo ciò, anche java.lang.instrument.Instrumentation dovrebbe funzionare.

1

Sì, questo è possibile, ma non molto semplice.

Il problema con l'utilizzo di java.lang.instrument.Instrumentation è che sarà SEMPRE necessario utilizzare un agente JVM. Una buona introduzione agli agenti JVM è disponibile al numero http://www.javabeat.net/2012/06/introduction-to-java-agents/.

Tuttavia, poiché i test dell'unità vengono eseguiti anche in jvm, è possibile specificare l'agente come argomento JVM.

Un agente JVM che segnala la memoria per ciò che si desidera fare e pronto per il confezionamento, è disponibile allo https://github.com/jbellis/jamm. Puoi costruirlo con Maven o Ant. Per usarlo, si costruisce e poi passare il seguente come argomento JVM quando si avvia il test di unità o unit test privato:

-javaagent:<path to>/jamm.jar 

Entro i test di unità, è quindi possibile creare un'istanza della MemoryMeter e l'uso it:

MemoryMeter meter = new MemoryMeter(); 
meter.measure(object); 
meter.measureDeep(object); 
meter.countChildren(object); 
Problemi correlati