The event-manager
is tested using:
- unit tests - defined in their corresponding modules
- Rust integration tests - defined in the tests directory
- performance tests - defined in the benches directory
The integration and performance tests share subscribers implementations which can be found under the src/utilities module.
The utilities
module is compiled only when using the test_utilities
feature. To run unit tests, integration tests, and performance tests, the user
needs to specify the test_utilities
feature; otherwise the build fails.
cargo test --features test_utilities
cargo bench --features test_utilities
We recommend running all the tests before submitting a PR as follows:
cargo test --all-features
Performance tests are implemented using criterion. Running the performance tests locally should work, but only when they're run as part of the CI performance improvements/degradations can be noticed. More details about performance tests here.