macro_rules! backend_contract_tests {
(suite = $suite:ident, make_store = $make_store:expr, make_checkpoint_store = $make_checkpoint_store:expr, make_coordinator = $make_coordinator:expr $(,)?) => { ... };
}Expand description
Unified contract test macro for all backend implementations.
This macro generates ALL contract tests for a backend implementation. When new contract tests are added to eventcore-testing, they automatically run for all backends that use this macro—no changes to backend test files required.
§Example
ⓘ
backend_contract_tests! {
suite = my_backend,
make_store = || MyEventStore::new(),
make_checkpoint_store = || MyCheckpointStore::new(),
}§Requirements
The store type must implement both EventStore and EventReader traits.
The checkpoint store type must implement CheckpointStore trait.
The coordinator type must implement ProjectorCoordinator trait.