Introduction to unit testing with Apex
At this stage, you’re probably wondering just how it is technically possible, using code, to substitute or inject (to use the correct term) different compiled code during test execution. To illustrate the various options for dependency injection, let’s start with a simple code example.
We will explore how unit testing can be applied to Apex Enterprise Patterns later in this chapter.
The following diagram shows the Unified Modeling Language (UML) for a Car
class model, which has been designed with SOC in mind. Responsibilities such as the engine, dashboard, and the digital readout display have been separated. This is a pure Apex code example to illustrate how dependencies between classes can be managed with Dependency Injection (DI):
Figure 13.5: Dependency injection between classes
The following code is for the Car
class. It has a dependency on methods from the Dashboard
and Engine
classes. The caller must...