Nowadays, enterprise applications are enormous. This is why the verification of such systems is a very important stage in any modern development life cycle. However, we should remember that in large systems there are a vast number of components and services, which in turn may include a large number of classes. For this reason, we should follow the Test Pyramid suggestions in order to cover everything. Here, the basic part of system testing is unit testing.
In our case, the subject of the testing is code written using the reactive programming technique. As we discovered in Chapter 3, Reactive Streams - the New Streams' Standard and Chapter 4, Project Reactor - the Foundation for Reactive Apps, reactive programming gives us a bunch of benefits. The first of these is the ability to optimize resource usage by enabling asynchronous...