Framework
The primary focus of the Chainlink Testing Framework is to reduce the complexity of end-to-end testing, making complex system-level tests appear straightforward. It enables tests to run in any environment and serves as a single source of truth for system behavior as defined by requirements.
Features
-
Straightforward and sequential test composition: Tests are readable and give you precise control over key aspects in a strict step-by-step order.
-
Modular configuration: No arcane knowledge of framework settings is required; the config is simply a reflection of the components being used in the test. Components declare their own configuration—
what you see is what you get
. -
Component isolation: Components are decoupled via input/output structs, without exposing internal details.
-
Replaceability and extensibility: Since components are decoupled via outputs, any deployment component can be swapped with a real service without altering the test code.
-
Quick local environments: A common setup can be launched in just
15
seconds 🚀 *. -
Caching: Any component can use cached configs to skip setup for even faster test development.
-
Integrated observability stack: get all the info you need to develop end-to-end tests: metrics, logs, traces, profiles.