0.1.0
WireMock Spring Boot library drastically simplifies WireMock configuration in a Spring Boot and JUnit 5 application.
🤩 Highlights
- fully declarative WireMock setup
- support for multiple WireMockServer instances - one per HTTP client as recommended in the WireMock documentation
- automatically sets Spring environment properties
- does not pollute Spring application context with extra beans
- configuring WireMock extensions via
@ConfigureWireMock(extensions = ...) - configuring stub locations via
@ConfigureWireMock(stubLocations = ...)
✨ How to use
Use @EnableWireMock with @ConfigureWireMock with tests annotated that use SpringExtension, like @SpringBootTest:
@SpringBootTest
@EnableWireMock({
@ConfigureWireMock(name = "user-service", property = "user-client.url")
})
class TodoControllerTests {
@WireMock("user-service")
private WireMockServer wiremock;
@Autowired
private Environment env;
@Test
void aTest() {
env.getProperty("user-client.url"); // returns a URL to WireMockServer instance
wiremock.stubFor(...);
}
}@EnableWireMockadds test context customizer and enablesWireMockSpringExtension@ConfigureWireMockcreates aWireMockServerand passes theWireMockServer#baseUrlto a Spring environment property with a name given byproperty.@WireMockinjectsWireMockServerinstance to a test
📢 Feedback is much appreciated!
If you find this library useful, consider ❤️ Sponsoring the project! Thank you!