Chapter 11. Testing reactive applications

 

Now that we have covered the philosophy, we need to discuss how to verify that the Reactive applications you build are elastic, resilient, and responsive. Testing is covered first because of the importance of proving Reactive capabilities. Just as test-driven design (TDD) allows you to ensure that you are writing logic that meets your requirements from the outset, you must focus on putting into place the infrastructure required to verify elasticity, resilience, and responsiveness.

What we will not cover is how to test your business logic—countless good resources are available on that topic. We will assume that you have picked a methodology and matching tools for verifying the local and synchronous parts of your application and will focus instead on the aspect of distribution that is inherent to Reactive systems.

11.1. How to test

11.2. Test environment

11.3. Testing asynchronously

11.4. Testing nondeterministic systems

11.5. Testing elasticity

11.6. Testing resilience

11.7. Testing responsiveness

11.8. Summary