Before we start coding tests, we need to understand what behavior-driven development (BDD) is and how it differs from test-driven development (TDD).
We need to understand not only the concept of BDD, but also all the jargon associated with it. For example, what is a feature? Or what is a unit test? So, in this chapter, I will try to clarify some common vocabulary in order to give you a solid understanding of what every technical term means.
In this chapter, you will learn:
The reason for writing automated tests
The workflow prescribed by the test-first approach
What BDD is and how it differs from TDD
What a unit test really is
The different phases that compose a test
What test doubles are and the different kinds of test doubles that exist
The characteristics of a good test