Tengo unas pocas clases de prueba base que configuran configuraciones comunes para la primavera, el registro, jndi, etc. utilizando oyentes de ejecución de prueba que luego son heredados por subclases. Esto se hace para que las pruebas solo ejecuten código sin tener que preocuparse por obtener los servicios jndi y de inicio de sesión antes de poder ejecutar el código de prueba.No hay métodos ejecutables Error de la clase de prueba base
Usando intelliy e invocando "ejecutar todas las pruebas" desde la base del proyecto, el IDE intenta ejecutar la clase de prueba base como una prueba unitaria y me da el error "No hay métodos ejecutables".
Sé que podría poner un método ejecutable vacío en la clase base, pero esperaba que alguien tuviera una mejor idea.
la clase base es:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:spring-jndi.xml"
})
@TestExecutionListeners({
Log4JSetupListener.class,
JndiSetupListener.class,
DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class
})
public class SpringAppTestCase extends Assert implements ApplicationContextAware {
protected JndiTemplate jndiTemplate = new JndiTemplate();
@Autowired
protected JdbcTemplate jdbcTemplate;
protected ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext ac) {
this.applicationContext = ac;
}
//
// @Test
// public void doit(){
// // this would prevent blow up but
// all subclass tests would run an extra method
// }
protected Logger log = Logger.getLogger(getClass().getName());
}
El error:
java.lang.Exception: No runnable methods
at org.junit.internal.runners.MethodValidator.validateInstanceMethods(MethodValidator.java:32)
at org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:43)
at org.junit.internal.runners.JUnit4ClassRunner.validate(JUnit4ClassRunner.java:36)
at org.junit.internal.runners.JUnit4ClassRunner.<init>(JUnit4ClassRunner.java:27)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:76)
En realidad, no hay pruebas en el código anterior .... ¿Lo ha comentado para que el mensaje de error sea correcto? –
Sí, explicado por el comentario dentro del código comentado – gbegley