What's happening here is that all my command handlers are built to work with data from commands — simple PHP objects. They modify in-memory objects (the read model), which only gets persisted at the very last moment.
Skip that last part during testing (could be a commandbus middleware that's disabeld), and you don't need a database dependency for most of your tests. It's all in-memory data that you can perform assertions on directly.