Spring Framework and Spring Boot

  1. Testing in Spring and Spring Boot
    1. The Testing Pyramid
      1. Unit Tests
        1. Integration Tests
          1. End-to-End Tests
            1. Testing Strategy
            2. Unit Testing
              1. Writing Unit Tests for Components
                1. Testing Spring Beans
                  1. Mocking Dependencies
                    1. Mockito Framework
                      1. Creating Mocks
                        1. Stubbing Methods
                          1. Verification
                          2. Testing Configuration Classes
                          3. Integration Testing
                            1. The Spring TestContext Framework
                              1. Test Context Management
                                1. Context Caching
                                2. @SpringBootTest Annotation
                                  1. Full Application Context Loading
                                    1. Web Environment Options
                                      1. Random Port Testing
                                      2. Slice Tests
                                        1. @DataJpaTest
                                          1. Persistence Layer Testing
                                            1. In-Memory Databases
                                            2. @WebMvcTest
                                              1. Web Layer Testing
                                                1. MockMvc Setup
                                                2. @JsonTest
                                                  1. JSON Serialization Testing
                                                  2. @RestClientTest
                                                    1. REST Client Testing
                                                  3. Testing Tools
                                                    1. TestRestTemplate
                                                      1. REST API Testing
                                                      2. MockMvc
                                                        1. Controller Testing
                                                          1. Request Builders
                                                            1. Result Matchers
                                                            2. WebTestClient
                                                              1. Reactive Testing
                                                          2. Test Configuration
                                                            1. @TestConfiguration
                                                              1. @MockBean and @SpyBean
                                                                1. Test Properties
                                                                  1. Test Profiles
                                                                  2. Database Testing
                                                                    1. @Sql Annotation
                                                                      1. @Transactional in Tests
                                                                        1. Test Data Management