Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Agile Technical Practices Distilled

You're reading from   Agile Technical Practices Distilled A learning journey in technical practices and principles of software design

Arrow left icon
Product type Paperback
Published in Jun 2019
Publisher
ISBN-13 9781838980849
Length 442 pages
Edition 1st Edition
Concepts
Arrow right icon
Authors (3):
Arrow left icon
Marco Consolaro Marco Consolaro
Author Profile Icon Marco Consolaro
Marco Consolaro
Alessandro Di Gioia Alessandro Di Gioia
Author Profile Icon Alessandro Di Gioia
Alessandro Di Gioia
Pedro M. Santos Pedro M. Santos
Author Profile Icon Pedro M. Santos
Pedro M. Santos
Arrow right icon
View More author details
Toc

Table of Contents (31) Chapters Close

Preface 1. Section 1
2. Chapter 1 FREE CHAPTER 3. Chapter 2 4. Chapter 3 5. Chapter 4 6. Chapter 5 7. Section 2
8. Chapter 6 9. Chapter 7 10. Chapter 8 11. Chapter 9 12. Chapter 10 13. Section 3
14. Chapter 11 15. Chapter 12 16. Chapter 13 17. Chapter 14 18. Chapter 15 19. Section 4
20. Chapter 16 21. Chapter 17 22. Chapter 18 23. Chapter 19 24. Chapter 20 25. Chapter 21
26. Chapter 22 27. Chapter 23 28. License: CyberDojo
29. Sample Solutions
30. Feedback

The Three Laws of TDD

Follow these rules until you gain enough experience in TDD or until you feel confident enough to break them (like Picasso).

Robert C. Martin (Uncle Bob) formalized the TDD rules: The three rules of TDD are detailed at http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd.

1. You Are Not Allowed to Write Any More of a Unit Test That Is Sufficient to Fail, and Compilation Failures Are Failures

Start by writing one failing unit test. We don't want to write all the tests beforehand as sometimes the implementation will suggest a test we had not envisioned before. If we write all tests beforehand, we may miss some important test scenarios. TDD is a feedback loop that works both ways. We not only get feedback from failing and passing tests, production code also gives feedback on needed tests.

Make sure the test is failing for the right reason. An unexpected fail is not a valid failure (such failures could include unexpected exceptions thrown, missing...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime