Posts

Showing posts with the label Slice

Spring Boot - Testing JDBC components with @JdbcTest - Example

Image
In this section, we will learn how to test JDBC-based components with @JdbcTest in Spring Boot application. 1.  @ JdbcTest Instead of bootstrapping the entire application context for every test, @JdbcTest allows us to initialize the Spring application context with only those beans needed to test JDBC-based components. It will auto-configure DataSource , and JdbcTemplate .  If an embedded database is available on the classpath, @JdbcTest  will autoconfigure one for testing purposes. By default, tests annotated with @JdbcTest  are transactional and roll back at the end of each test, means we do not need to clean up saved or modified table data after each test. Regular @Component , @Repository ,  @Service or @Controller beans are not scanned when using this annotation.  This approach not only speeds up the testing process but also ensures a focused and efficient testing environment. This approach is also known as " slicing " the application context. Find the sample code snipp

Spring Boot - Testing a JPA application With @DataJpaTest - Example

Image
In this section, we will learn how to test Repository layer components with @DataJpaTest in Spring Boot application. 1.  @ DataJpaTest  Instead of bootstrapping the entire application context for every test,  @DataJpaTest allows us to initialize only the parts of the Application context that are relevant to JPA tests. By default, it scans for @Entity classes and configures Spring Data JPA repositories. If an embedded database is available on the classpath, @DataJpaTest will autoconfigure one for testing purposes. By default, tests annotated with @DataJpaTest are transactional and roll back at the end of each test, means we do not need to clean up saved or modified table data after each test. Regular @Component , @Service or @Controller beans are not scanned when using this annotation.  This approach not only speeds up the testing process but also ensures a focused and efficient testing environment.  This approach is also known as "slicing" the application context. Find th