2017-06-29 5 views
0

In einer Integrationstestklasse traf ich diese Zeilen Code:Was macht SpringClassRule/SpringMethodRule eigentlich?

@ClassRule 
    public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule(); 

    @Rule 
    public final SpringMethodRule springMethodRule = new SpringMethodRule(); 

Wenn ich versuche, auf die Klasse (ich benutze IntelliJ IDEA) bekomme ich ‚Kann nicht finden Erklärung zu gehen‘ zu navigieren. Wenn ich versuche, die Verwendung zu finden, bekomme ich 'Keine Verwendung im Projekt gefunden' Ich bin vertraut mit dem Konzept der Regeln. Aber immer noch nicht verstehen, was diese beiden Dinge tun. Ich habe diese Seite überprüft: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ keine Informationen dort.

Antwort

0

Dies sind keine Spring Boot spezifischen Annotationen, sondern eher vom Spring Framework selbst und ermöglichen die Verwendung von Spring Contexts etc. ohne die Verwendung der SpringRunner.

Javadoc, http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/context/junit4/rules/SpringClassRule.html

Ein konkretes Beispiel hier gefunden werden kann,

http://eddumelendez.github.io/blog/2015/08/01/spring-4-2-0-springclassrule-and-springmethodrule/

0

Zusätzlich zu dem, was @ darren-forsythe in aktuellen Versionen von Spring-Boot @RunWith(SpringJUnit4ClassRunner.class) entfernt und stattdessen wird gesagt wurde , verwenden Sie @RunWith(SpringRunner.class).