Skip to main content

backend_contract_tests

Macro backend_contract_tests 

Source
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.