This recipe is an example of how to inject Spring managed beans into integration test classes. Even for IT tests, whose first objective is to assess the backend as a blackbox, it is sometimes necessary to reach out technical objects from the intermediate layer.
We will see how to reuse an instance of a Spring managed datasource
to be injected in our test class. This datasource
will help us to build an instance of jdbcTemplate
. From this jdbcTemplate
, we will query the database and simulate/validate processes that couldn't be tested otherwise.
We have
@Autowired
adataSource
SpringBean in ourUserControllerIT
test. This bean is defined in the test-specific Spring configuration file (spring-context-api-test.xml
)resources
directory (cloudstreetmarket-api
):<context:property-placeholderlocation=" file:${user.home}/app/cloudstreetmarket.properties""/> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource...