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?
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.
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.
Tags und Links java unit-testing spring junit