Junit to test Spring service and DAO layer Junit to test Spring service and DAO layer spring spring

Junit to test Spring service and DAO layer


In terms of resources the Spring documentation on testing is very good. This can be found here.

When you test your service layer you will want to use a mocking library such as Mockito to mock your DAOs and therefore your domain layer. This ensures that they are true unit tests.

Then to integration test your DAOs against a database you can use the Spring transactional test utilities described in that reference documentation.


Don't know much about resources, but it's not that hard to do if you have your dao + spring setup nicely. You'll need the following:

  1. JUNIT dependencies obivously. with maven, something like that:

    <dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.8.2</version></dependency>
  2. The test class, which you place inside src/test/java:

    @TransactionConfiguration(defaultRollback = true)@ContextConfiguration({ "classpath:test-spring-context.xml" })@Transactional  @RunWith(SpringJUnit4ClassRunner.class)  public class SomeTests {     // ...}
  3. The context file for your spring setup referencing your DAO datasource placed inside src/test/resources. Somewhere in your test-spring-context.xml:

    <import resource="datasource-test.xml" />

Now for example in eclipse you can run the project as a JUNIT test.

Need more details? Is this solution applicable?