I'm trying to develop our fixture status interpretation application offline while the cell is unavailable. It normally uses Universal Robots UR5e in a fixture inspection station, with an inspection block as a reference.
Our mock returns true for every method, keeping the screen happy without checking the interface properly. I need software response testing, with no claim to physical simulation.
Do you've captured success and error responses tied to the documentation for the SDK your screen uses? Those would give the substitute concrete contracts to follow.
@ElenaBarnes0601 Build only the interface you use, with those response shapes and explicit failures for unknown methods. That'll keep the offline run contained.
Rejecting unknown mock methods doesn't establish that the application stays offline. Another startup path could still create the real controller client.
You're right. I blurred two checks. The strict interface catches wrong calls; offline startup also needs to exclude the real client and reject controller endpoint configuration.
@ElenaBarnes0601 Yes, treat that as an explicit offline failure. It identifies an unsupported method or unwanted application call and should never trigger controller access.
@MeiChan1125 On my setup, the substitute allowed any method name, so a misspelled call passed all offline runs instead of failing where we could easily diagnose it.
@ChenAdams0094 Our saved examples have the SDK source identifier and matching documentation. I'll keep those attached; loose response files would lose that context.
Documentation can supply uncaptured contract cases. You can also construct invalid inputs to test resilience, provided they're clearly distinguished from responses actually observed from the controller.
@MeiChan1125 I separated my fixtures by origin because someone had mistaken an intentionally malformed test input for an actual controller response. The labels cleared that up.
I've settled what this mock is for: checking our documented interface with explicit success and error cases. I'll count it ready only when those checks pass and the offline run attempts no controller connection.