I'm looking for feedback on some new functionality for the Rust SDK that records the ending state of the Env after tests are complete.
https://github.com/stellar/rs-soroban-sdk/pull/1137
The goal is make it really easy to record a snapshot of the Env's major forms of output (events and storage) as well as a snapshot of what functions returned and errored with (as captured in diagnostic events).
For the majority of tests due to work done recently to omit random data these values being outputted should be constant, and you could commit them to version control as a way of catching if things change unexpectedly. I think this will be especially helpful for events such as SDK upgrades and future protocol upgrades as a way to sanity check your contracts behavior will continue to be consistent.
For the tests that produce random or unpredictable outputs, simply ignoring the outputted in gitignore or similar files should suffice for ignoring them.
This feature currently has no configuration. It's always on for all tests.