Spring Boot Testing Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
* https://www.baeldung.com/spring-boot-testing | * https://www.baeldung.com/spring-boot-testing | ||
* https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4 | * https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4 | ||
* https://www.baeldung.com/injecting-mocks-in-spring | |||
=Internal= | =Internal= |
Revision as of 01:08, 3 October 2021
External
- https://www.baeldung.com/spring-boot-testing
- https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4
- https://www.baeldung.com/injecting-mocks-in-spring
Internal
Overview
Dependencies
Use:
dependencies {
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
This started dependency pulls everything that is needed to write JUnit tests.
Annotations
@SpringBootTest - this is required, otherwise beans won't get injected in our tests.
@RunWith(SpringRunner.class)
@IntegrationTest, @WebIntegrationTest
The Default XyzApplicationTests
Spring Initializr creates a
@SpringBootTest
class XyzApplicationTests {
@Test
void contextLoads() {
}
}
How does this work? How is this useful? Does it use name conventions?
SpringBoot Test Example
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyTests {
@Autowired
private SomeComponent someComponentWeWantToTest;
// ...
}
Testing Logging Configuration
By default, test logging is executed by Logback.