Quelle est la différence entre SpringJUnit4ClassRunner et SpringRunner

88

Chaque fois que je vois un article de blog lié aux tests de Spring, je vois l'une de ces classes mais je ne comprends pas la vraie différence:

@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
Humoyun Ahmad
la source

Réponses:

30

@RunWith(SpringRunner.class)indique à JUnit de s'exécuter en utilisant le support de test de Spring. SpringRunnerest le nouveau nom pour SpringJUnit4ClassRunner, c'est juste un peu plus facile pour les yeux.

SpringRunner n'est disponible que sur le test de ressort 4.3.

SpringRunnerla classe s'étend SpringJUnit4ClassRunner.

Code source de SpringRunneris

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
la source
7
cela semble être à peu près le double d'une réponse précoce.
StvnBrkdll
7
cela a ajouté plus d'informations pour comprendre la relation détaillée entre SpringRunner& SpringJUnit4ClassRunner.
Eddy