The ability to test code is the most important quality of any software product. Without proper testing, it is prohibitively expensive to refactor the code or to improve any other part of it, such as its security, scalability, or performance. In this chapter, we'll learn how to design and manage automated tests and how to correctly use fakes and mocks when it is necessary to do so.
The following topics will be covered in this chapter:
- Why do you test code?
- Introducing testing frameworks
- Understanding mocks and fakes
- Test-driven class design
- Automating tests for continuous integration/continuous deployment