Introduction to TDD

Welcome to the first lesson of our course on Test Driven Development (TDD) in Go using Testify. TDD is an iterative software development process where tests are written prior to developing the actual functionality. This approach helps developers focus on the requirements first, leading to more reliable and maintainable code.

In this lesson, we'll introduce you to the essential elements of TDD, including the Red-Green-Refactor cycle, which serves as the core structure of this methodology. We'll be utilizing tools specially suited for Go: Testify, a popular testing library that is robust and integrates well with Go. These tools are excellent for defining and running tests in Go. Let's start by investigating TDD’s core components with a hands-on example.

Writing the First Test (Red)

The TDD process begins with writing a test that fails, marking the "Red" phase. This step allows you to crystallize what the code should achieve before writing the actual implementation. Let's write a test for a Sum function that should eventually add two numbers.

Create a file named math_test.go in the tests directory:

This test script:

  • Uses Testify to assert equality between expected and actual results.
Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal