Practical integration testing using Testcontainers

abdulrhmansayed


What
You’ll Learn
  • Where to use Testcontainers and why
  • Concepts and basics of Testcontainers library
  • Mocking systems as a whole instead of mocking certain modules in your code
  • Create
  • start and stop docker containers from your integration test code directly
  • How to integrate Testcontainers into the software build lifecycle
  • Usage of Testcontainers in example applications

Requirements

  • You should know about Docker basics
  • You should be experienced with java development
  • It helps if you have used a testing framework like junit already
  • It helps if you have worked with common frameworks in the Java ecosystem like Spring for example
  • Nothing more: Enjoy the course!

Description

Why should you learn about Testcontainers, and what is it at all? If you reached here, you’ll surely have an idea about that. I suppose you’re testing your software already and want to figure out what Testcontainers can exactly do for you to somehow improve the quality of testing.

So welcome here to the first course on Udemy regarding that topic. I’m Ansgar, and I’m a freelanced software engineer, working with tools like Testcontainers almost every day.

Testcontainers points out, that it makes testing – especially integration testing – easier. I totally agree, but there are other – relevant and important – aspects which should be mentioned. Here are only a few examples:

  • It makes extension of your integration tests scope to the outermost boundaries possible without having to switch to full-fledged e2e tests

  • You can avoid having potentially confusing test setup with mocks and fakes

  • Using H2 although that’s likely not your production database? No longer soon, perhaps …

  • Not relying on JPA but on plain SQL and want to test your statements against a production-like database system? Easy with Testcontainers!

  • Using Docker in your build lifecycle already? Then setting up Testcontainers is in a breeze

In this course, I’ll talk about the above-mentioned topics and give you a step-by-step walkthrough of the most important features of Testcontainers. For this, I’ll stick to the following guidelines:

  1. This course is about practice, not primarily theory (theory of testing for example)

  2. I keep sections short in order to accelerate your progress. I do this by not losing myself in endless details. If a question stays open: Leave me a message

  3. Feedback and discussions are always welcome. I plan to extend this course content on demand based on your feedback

Ready for takeoff? Subscribe to the course and let’s go right away.

Who this course is for:

  • Software developers who want to bring the power of Docker containers into their testing infrastructure
  • Software developers just interested in this topic

Get on Udemy

Share This Article
Leave a comment