Sounds like the custom matchers may be at fault. It’s certainly possible to get good diagnostic info with Ham[ck]rest but it adds a bit of effort to the matcher implementation. I never found implementing matchers that intuitive which was one of the reasons for Strikt existing