How do I make this UR5e fake disagree with a bad call?
ImranAbbott0044 · 15 Aug 2026, 12:28 UTC
18 replies
Use the documented software interface for your installed version as the boundary, then make unsupported calls and wrong arguments fail instead of handing everything another true.
21pointsDoes the screen consume only that status, or does another application decision use it too?
17pointsAnd test the screen itself. I don't care how correct the decoder is if the last healthy-looking banner stays up after a failed read. That's the bit a person will act on.
18pointsDaniel, retaining the previous value can help diagnosis, provided it is visibly previous (not still current).
11pointsDisplay only. I've separated previous from current in the expected results; a failed request must leave current status unavailable. Need the fake to return real-shaped failures now.
12pointsYes, Mei, history isn't the problem. My objection was the healthy banner. Keep the old value if its age and status are clear.
5pointsDo not invent a convenient failure shape; use the applicable documented contract and clearly labelled examples, with transport failure and an invalid successful payload as separate cases.
12pointsStrict substitute now rejects an unsupported method name. That exposed a typo the old mock accepted. Valid success, reported failure and malformed payload examples are in separate tests.
14pointsWho maintains those examples when the supported version changes?
11pointsCould you leave their source and version beside them? Future you may be less impressed by today's memory.
20pointsRecorded sources and target version with each example. Maintainer owns the set. One test now fails because the screen still gives an unknown value a normal status label.
16pointsKeep that failing case. It is exactly the useful disagreement the original substitute couldn't give you. I'd also inspect whether the displayed reason distinguishes unknown payload from a communication failure, so support doesn't inherit one mysterious blank.
22pointsReason is separate in the test expectation, not implemented yet. The unknown payload must never reach the normal label lookup.
6pointsCheck a valid status whose meaning is negative too; a successful read need not report a favourable fixture condition.
20pointsAdded that case. The documented negative fixture state remains a valid current reading; failed and malformed reads become unavailable. Parser and screen tests pass after the lookup repair.
21pointsAnd the unsupported-call test still fails the bad call after the repair?
9pointsYes. Re-ran the whole set: bad method rejected, wrong arguments rejected, valid negative state displayed, failed and malformed responses unavailable, previous value marked old. The offline substitute and these application defects are sorted; controller comparison remains future work.
2pointsThanks for listing the cases; that gives the next maintainer something repeatable without borrowing your unavailable cell.
10pointsAdd to the discussion
Welcome to Application Robot
Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.
By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.