Easy Java Integration testing with Testcontainers
2020-10-03, 14:20–15:00 (America/Mexico_City), Best Practices
Language: Spanish

Having problems creating a maintainable set of integration tests for your enterprise Java application? This talk will help you understand how to use Test containers to implement easy integration tests for your next project!


Simplifying Integration Tests for Enterprise Java

Integration testing is always a difficult area. You need to make sure that all system dependencies are prepared, data is correctly initialised for each run and test runs do not interfere with each other. Even with tools like the Arquillian Framework, writing integration tests can be a complicated task and the act of maintaining large sets of tests can become a nightmare if there's not enough knowledge of all dependencies involved.

With the Testcontainers project, convoluted and complicated integration tests can be a thing of the past. A test container allows you to create reliable integration tests covering a wide range of scenarios like using databases, microservices interactions and even GUI and user experience testing. One of the important factors for the success of this framework is the usage of Docker containers to create a reliable reproducible environment for each test, which separates the dependencies and the application code in a way that it is easy to maintain for developers.

About Me

Software Engineer offering over 9 years in the IT industry with a focus on software architecture and development. Oracle Certified Professional and Specialist in Java SE and EE platforms. Currently working as part of the service team of Payara Services Limited and also part of the Toptal network of freelancers as well.

Explain to a 5-year-old your job role:

Well: "I help my customers when their computers don't do what they want, so I usually talk a lot with them to understand why their computers are not behaving well. Usually, when I can't get their computers to do what my customers want, I yell high and loud so my team-mates from around the world can help me to help them!"

What hobbies do you enjoy outside work?

Well, primary catching up movies and TV series that I like to watch (Netflix helps a lot with that), playing PC or console video games, travelling to places or countries I don't know, going to the gym to stay healthy, enjoying a good meal and drinks in a good restaurant or bar, listening to rock music. I like to enjoy the little things~

Which would you prefer to fight: A horse sized duck or 100 duck sized horses?

From a video game perspective, definitely, the 100 duck sized horses. The huge duck would fly a lot and make the fight a lot harder (flying enemies in video games are annoying as hell). Besides if you could tame some of the little horses you could run a small show and reap profits.

Coffee or Tea?

No amount of tea can replace a properly brewed cup of coffee. If it's Colombian, much better.
PC or Console?

Oh, the eternal debate. I play games on both sides from time to time, but console games are sometimes more comfortable to play.

If Java wasn't around, what platform would you work with?

Python! Really like the way the language is, its libraries and the ecosystem built around it. The 2.X/3.X fragmentation is a bit of nonsense but manageable. If Python wasn't around then I'd use Go (not much market but the platform is fun)

What is your favourite movie?

That is a hard one. I have a favourite movie per year. 2018 was Into the Spider-Verse, 2017 was Logan, 2016 was Arrival, 2015 was The Martian, 2014 was Interstellar, etc. No favourite movie this year still. (You might notice a pattern of science fiction there, too)

Is Rush one of the greatest rock bands to ever to grace this world?

Yes, yes they are. Exhibit A: https://www.youtube.com/watch?v=auLBLk4ibAk