I'm testing inspection-result parsing offline while our FR10 station is unavailable. Every mock method returns true, so the display looks healthy despite interface mistakes. What response tests would make this useful without pretending to simulate hardware?
Make the substitute match the documented software boundary: argument expectations and response shapes for the supported version, including failures. Assert parsed values, not just whether the screen opens.
Then put a deliberately wrong call through it. If that still looks fine, it isn't testing the boundary you care about. No need to construct a pretend robot to find that.
Who maintains those saved examples after the real SDK changes? Otherwise today's useful substitute becomes next year's very convincing wrong interface.
The software maintainer owns the versioned examples now. Tests catch wrong arguments and a missing parser field. Real-controller comparison remains pending while the station is unavailable.