Test-Driven Development with Java by Alan Mellor
Author:Alan Mellor
Language: eng
Format: epub
Publisher: Packt
Published: 2023-11-15T00:00:00+00:00
Weâve already learned how to write tests using the arrange, act, and assert template. Weâve also learned about some software design principles, known as the SOLID principles, that help us break our software down into smaller components. Finally, weâve learned how test doubles can stand in for collaborating components to make FIRST unit tests easier to write. In this chapter, weâre going to combine all those techniques into a powerful design approach known as the hexagonal architecture.
Using this approach, we will benefit from getting more of our application logic under unit tests and reducing the number of integration and end-to-end tests required. We will build in a natural resilience to changes outside our application. Development chores such as changing a database supplier will be simplified, by having fewer places where our code needs to be changed. We will also be able to unit test across larger units, bringing some tests that require end-to-end testing in other approaches under unit tests instead.
In this chapter, weâre going to cover the following main topics:
Why external systems are difficult
Dependency inversion to the rescue
Abstracting out the external system
Writing the domain code
Substituting test doubles for external systems
Unit testing bigger units
Wordz â abstracting the database
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
AI & Machine Learning | Bioinformatics |
Computer Simulation | Cybernetics |
Human-Computer Interaction | Information Theory |
Robotics | Systems Analysis & Design |
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(7894)
Hadoop in Practice by Alex Holmes(5682)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5535)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(4554)
Functional Programming in JavaScript by Mantyla Dan(3742)
The Age of Surveillance Capitalism by Shoshana Zuboff(3466)
Big Data Analysis with Python by Ivan Marin(3266)
Blockchain Basics by Daniel Drescher(2928)
Test-Driven Development with Java by Alan Mellor(2887)
The Rosie Effect by Graeme Simsion(2745)
Data Augmentation with Python by Duc Haba(2727)
WordPress Plugin Development Cookbook by Yannick Lefebvre(2688)
Hands-On Machine Learning for Algorithmic Trading by Stefan Jansen(2601)
Principles of Data Fabric by Sonia Mezzetta(2539)
Applied Predictive Modeling by Max Kuhn & Kjell Johnson(2516)
Dawn of the New Everything by Jaron Lanier(2459)
The Infinite Retina by Robert Scoble Irena Cronin(2442)
The Art Of Deception by Kevin Mitnick(2325)
Microservices with Spring Boot 3 and Spring Cloud by Magnus Larsson(2318)