Welcome to the first lesson of our course on Test Driven Development (TDD) in Scala using ScalaTest. TDD is an iterative software development process where tests are written before 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 Scala: ScalaTest, a popular testing framework that integrates seamlessly with Scala, and Mockito, a mocking framework widely used in the Scala ecosystem, which we'll explore later in this path. Let's start by investigating TDD’s core components with a hands-on example.
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
method that should eventually add two numbers.
Create a file named MathFunSuite.scala
in the src/test/scala
directory:
This test script:
- Uses
test
to denote a single test case.
