Unit testing with JUnit 4 using Spring's application context
JUnit tests are run outside Spring; Spring is not initialized before the tests are run. To be able to use the beans defined in the configuration files and dependency injection, some bootstrapping code needs to be added to the test class.
How to do it…
Follow these steps to test a method using the Spring's application context with JUnit 4:
- Add the
spring-test
Maven dependency inpom.xml
:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.1.RELEASE</version> <scope>test</scope> </dependency>
- Add these annotations to the test class:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {AppConfig.class}) @WebAppConfiguration ...
Get Spring Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.