Las clases de prueba de JUnit no aparecen en JMeter

Estoy tratando de ejecutar la prueba JUnit con JMeter 2.7. Sin embargo, al seleccionar las clases de prueba en el menú desplegable de la muestra de JUnit, no aparecen. Como descubrí, eso se debe a que las clases de prueba se extienden desde otra clase (AbstractJUnit4SpringContextTests es la clase base, con varias clases abstractas que proporcionan métodos de conveniencia para todas las pruebas. Se puede seleccionar una clase de prueba que no se extienda desde esas clases base.

El archivo JAR que contiene las clases de prueba es creado por Maven (prueba-jar), el JAR que contiene todas las dependencias es creado por el complemento de fatjar de Maven. Ambos frascos se colocan en el directorio JMeter / lib / junit.

Sé que el manual de JMeter dice que todas las clases de prueba deben extenderse desde la clase de prueba JUnit, pero eso solo parece ser cierto para JUnit3. Con JUnit4, JMeter no necesita ese requisito. Por supuesto, podría reescribir todas las pruebas para que no tengan que extenderse desde la clase base, pero eso daría como resultado un gran problema de mantenimiento. Entonces, ¿cómo ejecuto las pruebas JUnit con JMeter que se extienden desde una clase base?

UDPATE 2012-08-09

Gracias a la sugerencia de PMD, ahora copié las dependencias una por una a la carpeta lib de JMeter, y ahora la GUI muestra todas mis pruebas de unidad. Antes de que fuera posible, tuve que resolver un par de problemas por mi cuenta:

Copiar el logkit-1.0.1.jar en la carpeta impidió que se iniciara la GUI de JMeter. No tengo idea por qué, no se dio ningún mensaje de error o registro. La JVM acaba de comenzar y terminar.Hubo algunos conflictos de versión causados ​​por dependencias de Maven que introdujeron versiones anteriores de los paquetes de prueba de primavera. Eso dio lugar a que algunas clases de prueba se extendieran desde una clase base anterior con el mismo nombre. La exclusión de esas dependencias en el archivo pom ayudó.

Ahora puedo ejecutar mis casos de prueba JUnit. Sin embargo, varias referencias en mis clases están anotadas con@Resource. El Testrunner de JMeter no parece inyectar esas referencias, porque cada vez que se accede a una referencia, unNullPointerException se lanza, como se puede ver en el registro de JMeter. Entonces, ¿cómo hago para que JMeter inyecte esas dependencias, es eso posible?

Respuestas a la pregunta(3)

Su respuesta a la pregunta