Assertions
Learn one way to write tests in ScalaTest: assertions.
We'll cover the following
What is an assertion?
Assertions are basically functions we invoke to verify if a certain condition is true. We’ve already seen two types of these:
The
assert
function lets us specify a condition that must be true.The
assertThrow
function ensures a given exception is thrown during the execution of a block of code.
ScalaTest defines a third assertion function, assertResult
, to specify more clearly the expected and actual value. It’s a short form of assert
with an equality condition.
Assertions are also the most basic way to verify some conditions held in ScalaTest. They’re not very expressive and don’t enforce any human-readable way to write those conditions. Later in the course, we’ll meet matchers, a DSL to write more expressive tests. But for now, let’s get to know assertions.
Assertions are defined in the Assertions
trait, which is extended by Suite
. Therefore, all the testing styles have access to the assertion functions. Moreover, Assertions
provides other interesting functions that we’ll explore in this lesson and some of the following ones.
Let’s move away from testing the authors’ full names and work on Course
. In the examples that follow, we’ll be using a new Course
hierarchy.
Get hands-on with 1400+ tech skills courses.