Note
These docs are a work in progress. While conceptually correct, the diagrams/code samples on this page might not be 100% in line with the current implementation in Copper.
Test Harness
Essential End-to-end testing capabilities (Spiral of test). Including queuing and pub/sub using in memory message bus.
Context and problem
Often developers and testers are unable to test a service when building "by layer". As often the actual application, or APIs are used by testers to run their tests against. If this is not yet in place, there is nothing to test against.
Solution
By hosting an entire system setup a in test process, we are able to run complete integration tests (without external dependencies) from within a (unit) test. It allows for quick and easy verification that events are published, received, and service integration is working before executing actual integration tests in a separate environment. It enables early detection of the most costly errors in integration. These tests can even be run in the PR pipeline as part of the PR approval flow.