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(7857)
Hadoop in Practice by Alex Holmes(5661)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5514)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(4510)
Functional Programming in JavaScript by Mantyla Dan(3723)
The Age of Surveillance Capitalism by Shoshana Zuboff(3424)
Big Data Analysis with Python by Ivan Marin(3020)
Blockchain Basics by Daniel Drescher(2892)
The Rosie Effect by Graeme Simsion(2710)
WordPress Plugin Development Cookbook by Yannick Lefebvre(2605)
Hands-On Machine Learning for Algorithmic Trading by Stefan Jansen(2522)
Applied Predictive Modeling by Max Kuhn & Kjell Johnson(2482)
Dawn of the New Everything by Jaron Lanier(2440)
Test-Driven Development with Java by Alan Mellor(2402)
The Art Of Deception by Kevin Mitnick(2300)
Data Augmentation with Python by Duc Haba(2251)
Rapid Viz: A New Method for the Rapid Visualization of Ideas by Kurt Hanks & Larry Belliston(2195)
The Infinite Retina by Robert Scoble Irena Cronin(2189)
Human Dynamics Research in Smart and Connected Communities by Shih-Lung Shaw & Daniel Sui(2179)