Don’t panic!#

Getting set up to do TDD in a new language can be daunting.

  • What do you need to install?
  • What does the toolchain look like?
  • What support is there for doing TDD?
  • Which TDD tools or libraries are widely used?
  • Which ones are well-supported?

This site is here to get you started. Our goal is get you up and running, the rest is up to you. Want to start TDD in Python? Take a look at howtoTDD.in/python. Starting to learn Rust? Try howtoTDD.in/rust.

Is your favourite language missing? We would love to showcase your TDD setup, and we will be happy to review a pull request on GitHub.

Multiple options per language#

Some languages have several TDD frameworks that either ship with the language or are available as separate tools. While there are different dialects of TDD, we are style-agnostic. Where there are different options, we choose the ones that we think will get you up and running quickly. Once you settle into the new ecosystem, you can make a more informed choice.

Hello TDD world#

In each example, we will write a test for a greeter that says “Hello world”. This may be a function or a method on a class, depending on the language.