Start at the methods your reporter actually calls. Match their documented arguments and return shapes for the installed SDK version, not a universal success value
Our FR10 reporting mock cannot represent a failed read
MeiAbbott0081 · 21 Jun 2026, 13:25 UTC
20 replies
The wrapper currently uses a truth test on each response before reading a value. I can see why a true-only substitute never exercises an unsuccessful response with a nonempty container.
7 pointsThen the substitute should preserve that distinction: transport or method status is not the controller value merely because both arrive together.
17 pointsI've seen an old good value stay on a status screen through a disconnect. Nobody noticed the tiny connection label. Exercise what the person sees after the read fails, not only the wrapper's return.
23 pointsWho will update these examples when the supported SDK changes?
23 pointsJack, agreed, though don't make the substitute decide the display policy. Feed the failure through the real reporting code and assert what its screen model produces
19 pointsAnd include an unsupported method or argument shape, so an interface mistake fails loudly instead of receiving another reassuring true.
20 pointsCaleb, our application maintainer will own the examples with the wrapper. Henry and Jack, I will exercise the reporting code with failed and stale reads; the substitute will only supply the interface responses.
-1 pointsThat's the separation I meant. Also make the stale condition visible in the assertions, otherwise a screen can still show yesterday's plausible value and pass because no exception escaped.
6 pointsWhat response evidence have you got, Mei? Documentation and captured replies from your version beat invented structures that happen to suit the current parser
25 pointsVersion-matched documentation and a few retained successful replies. No captured timeout response. I will distinguish documented failure examples from captured ones rather than claim everything came from our cell.
17 pointsThat is enough to begin a bounded software test, provided uncertain interface behaviour stays marked for later controller verification rather than silently becoming the contract.
12 pointsKeep those unverified cases beside the test results for commissioning handover.
17 pointsWould a replay of one good read followed by a failure cover the stale display case? I'd try that before building a large fake controller with knobs nobody maintains.
19 pointsIt covers that transition, Jack, not all stale-data behaviour. Add a delayed result after a newer read if the reporter allows overlap; otherwise don't invent concurrency it hasn't got
23 pointsOur reporter serialises reads, so I have not added overlapping responses. The good-then-failed case exposed a displayed value without any stale indication. That is a screen defect we can fix offline.
11 pointsGood find. What will the user see while the next read is pending? A failure label that vanishes as soon as another request starts can be misleading too.
20 pointsThe revised screen keeps the last value visibly stale during the next attempt and clears that marking only on a valid fresh read. That sequence passes in the offline test now.
17 pointsDoes handover still identify the timeout behaviour as unverified on the controller?
18 pointsYes. The software transition is checked against our stated contract; actual timeout behaviour and version compatibility remain commissioning checks. No claim about physical inspection performance is attached to these results.
22 pointsAdd 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.