¿Cuál es la diferencia entre SpringJUnit4ClassRunner y SpringRunner?

88

Siempre que veo una publicación de blog relacionada con las pruebas de Spring, veo cualquiera de estas clases pero no entiendo la diferencia real:

@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
Humoyun Ahmad
fuente

Respuestas:

30

@RunWith(SpringRunner.class)le dice a JUnit que se ejecute usando el soporte de prueba de Spring. SpringRunneres el nuevo nombre de SpringJUnit4ClassRunner, es un poco más agradable a la vista.

SpringRunner solo está disponible en la prueba de resorte 4.3.

SpringRunnerla clase se extiende SpringJUnit4ClassRunner.

Código fuente de SpringRunneres

package org.springframework.test.context.junit4;

import org.junit.runners.model.InitializationError;

public final class SpringRunner extends SpringJUnit4ClassRunner {

    public SpringRunner(Class<?> clazz) throws InitializationError {
        super(clazz);
    }

}
Joby Wilson Mathews
fuente
7
esto parece ser prácticamente un duplicado de una respuesta anterior.
StvnBrkdll
7
esto agregó más información para comprender la relación detallada entre SpringRunner& SpringJUnit4ClassRunner.
Eddy