Frühling Junit-Test

8

Ich habe ein Maven Spring-Projekt (neueste Version) und möchte einige Junit-Tests schreiben (neueste Version).

Das Problem, das ich habe, ist, dass meine Frühlingsbohnen autowired sind, und wenn ich sie vom Junit-Test aus anrufe, bekomme ich Null-Zeiger-Ausnahmen, da der Frühling sie nicht automatisch antreibt.

Wie kann ich den Kontext laden, damit die Dinge autowired werden?

    
Massive Boisson 01.07.2011, 10:40
quelle

3 Antworten

21

Haben Sie das Kapitel Testen in der Spring-Referenzdokumentation gelesen? Hier ist ein Beispiel, mit dem Sie anfangen sollten:

%Vor%

Wenn Sie in com.example.MyTest in /src/test/java sind, benötigen Sie /src/test/resources/com/example/MyTest-context.xml - aber die Ausnahmen zeigen Ihnen den Weg.

    
Tomasz Nurkiewicz 01.07.2011, 10:55
quelle
12

Dies ist eine Möglichkeit:

%Vor%

Normalerweise ist es jedoch eine gute Idee, einen Test-ApplicationContext für Ihre Testinfrastruktur zu haben.

    
abalogh 01.07.2011 10:55
quelle
5

Sie sollten SpringJUnit4ClassRunner für Ihre Testklassen verwenden und @Resource (oder @Autowired ) für das Feld in Ihrer Testklasse verwenden, das die Bean enthält. Sie sollten in Betracht ziehen, einen speziellen Testkontext zu haben. Spring-Konfiguration, die Stubs verwendet, so dass Ihre Tests echte Komponententests sind, und sich nicht auf den gesamten Anwendungskontext verlassen.

    
artbristol 01.07.2011 10:50
quelle

Tags und Links