I don’t understand why people try to unit test handlers. Use integration tests for this and the real services you depend on, use unit tests to test functions and business logic, not glue code like handlers. If you build a vast complex web of mocks attempting to reproduce behaviour you’ll only test the happy path and failures you can think of. It’s lots of work for no benefit.
This is interesting, but seems a little unnecessarily complex in places. Not sure they need to stray so far from Go. You can pretty much do exactly the same thing in golang just with a check(err) function which panics instead (tried to paste this into this comment as code but the formatting wasn't so good (no newlines)).