Notorious engineer at work and after hours, tracing meanders of the art of software engineering. Software Gardener, mostly working in web-oriented Java gardens. Fan of agility, seen mostly as choosing the right tools and approaches. Lead developer, trainer and conference speaker.
“You can never understand one language until you understand at least two.” – Geoffrey Willans
For years I've been developing mostly in JVM languages. Sometimes in other C-derived languages, which was both cool and easy.
A few months ago (due to career shift) I had to learn Go rapidly. While technically Go has keywords looking similar to C, many things are simply different and even unheard of in C-based OOP languages. Learning Go is a great journey and the best are these AH-HA moments, when doing things in Go I suddenly understood Java better.
Sure, during a single talk I won't teach you Go. Thing is: I don't event want to, as all I want is to show you some concepts in Go which can help you (just as they helped me) become better Java developer and understand why we need projects Valhalla and Panama. It's about leaving our comfort zone to get... more comfort.
Before Docker, configuring the environment for integration testing was painful – people were using fake database implementations, mocking servers, usually it was not cross-platform as well. However, thanks to Docker, now we can quickly prepare the environment for our tests.
In this lab, I would like to show how you can use Testcontainers – a popular testing library that harnesses Docker to easily, reliably, spin up test dependencies.
You'll go through the process adding powerful integration tests to your codebase (we'll use a Spring Boot app) without the headache of managing external service dependencies manually. And get acquainted with all necessary Testcontainers concepts to write elegant, efficient, and reliable integration tests.